dever 6 tahun lalu
induk
melakukan
3941407028
1 mengubah file dengan 53 tambahan dan 0 penghapusan
  1. 53 0
      master_cron.py

+ 53 - 0
master_cron.py

@@ -0,0 +1,53 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# 用于批量处理转换 运行多个转换容器
+import time
+import subprocess
+import os
+import pprint
+timeSleep = 15
+
+def redis(self):
+	import redis
+	host = '0.0.0.0'
+	port = 6379
+	pool = redis.ConnectionPool(host=host, port=int(port))
+	return redis.Redis(connection_pool=pool)
+
+def command(file):
+	return 'dm call office-convert_call id=' + file
+
+def popen(command, bg=False):
+	string = command
+	if bg == True:
+		command = command + ' 1>/dev/null 2>&1 &'
+
+	popen  = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE)
+	output = ''
+	Demeter.echo(string)
+	while True:
+		output = popen.stdout.readline()
+		pprint.pprint(output)
+		if popen.poll() is not None:
+			break
+	return output
+
+# 文档转换
+def convert():
+	r = redis()
+	c = 'office_file'
+	i = 0
+	while 1:
+		file = r.lpop(c)
+		if file:
+			g = command(file)
+			Shell.popen(g, True)
+		i = i+1
+		if i >= 10:
+			time.sleep(timeSleep)
+			i = 0
+
+def handle():
+	convert()
+
+handle()