使用Python RQ的Python执行后台任务

[i=s] 本帖最后由 jieforest 于 2012-5-25 14:44 编辑

RQ (Redis Queue)可以让Heroku平台上的Python应用轻松的执行后台任务,RQ使用Redis作为队列存储,因此要使用 RQ 之前必须配置应用程序然后启动并运行一个工作进程。

[size=18.0pt]安装 [size=18.0pt] RQ [size=18.0pt]
[size=10.5pt]

[size=10.5pt]可使用 [size=10.5pt] pip [size=10.5pt]命令来安装 [size=10.5pt] RQ [size=10.5pt]以及其依赖的库

CODE:

$ pip install rq
Downloading/unpacking rq
  Downloading rq-0.1.2.tar.gz
  Running setup.py egg_info for package rq
  ...
Successfully installed rq [size=10.5pt]接下来,记录新的修改到应用中的 [size=12.0pt]requirements.txt [size=10.5pt]文件:

CODE:

$ pip freeze > requirements.txt

[size=10.5pt]现在你已经准备好创建 [size=10.5pt] worker [size=10.5pt]工作进程,创建名为 [size=10.5pt] worker.py [size=10.5pt]的文件,该模块将侦听队列中的任务并在接收到时处理它们。

CODE:

import os

import redis
from rq import Worker, Queue, Connection

listen = ['high', 'default', 'low']

redis_url = os.getenv('REDISTOGO_URL', 'redis://localhost:6379')

conn = redis.from_url(redis_url)

if __name__ == '__main__':
    with Connection(conn):
        worker = Worker(map(Queue, listen))
        worker.work()

[size=10.5pt]



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/301743/viewspace-730951/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/301743/viewspace-730951/

你可能感兴趣的:(使用Python RQ的Python执行后台任务)