如何推迟在龙卷风中执行python任务?

时间:2013-04-21 11:17:56

标签: python mongodb tornado

我有一个在龙卷风上运行的网站,有视频功能(转换,剪切,合并)。

视频播放时间很长,所以我想把它移到另一个python进程,并尽可能保持龙卷风过程。

我使用mongo db进行通信数据库功能,同步,因为数据库将保持清淡。

2 个答案:

答案 0 :(得分:0)

使用芹菜推迟任务

video.py:

@task
def convert(video):
  ...

tornadoserver.py

import video
...
def get(self):
    paramvideo=...
    convert.delay(paramvideo)
    ...

答案 1 :(得分:0)

使用mongo推迟任务

video.py:

def convert():
    ...
db = Connection().my_db
cursor = db.tasks.find(tailable=True)
while cursor.alive:
    try:
        next = cursor.next()
        if next.t=='convert':
           convert(next.d)
    except StopIteration:
        time.sleep(1)

tornadoserver.py

...
def get(self):
    ...
    paramvideo=...
    conn.tasks.insert({t:'convert',d:paramvideo})