python celery 使用及后台运行(supervisor)

Celery是Python开发的分布式任务调度模块。

一、安装:

1.安装celery:

pip install celery

2.安装redis:

sudo apt-get install redis-server

3.安装pyredis:

pip install redis

二、使用:

1.新建一个py文件task.py,内容如下:

import time
from celery import Celery

celery = Celery('tasks', broker='redis://localhost:6379/0')

@celery.task
def celery_test(data):
    time.sleep(2.0)
    print data

if __name__=="__main__":
    celery.start()

2.运行celery -A task worker --loglevel==info   (task为py文件名)

3.新建py文件test.py用来调用celery,内容如下

        

from task import celery_test

for i in xrange(10):
    celery_test.delay("my running at %s"%str(i))

delay(加上时代码异步运行,不加代表同步运行)

4.运行test.py

python test.py


三、celery+supervisor(后台进程)

1.安装supervisor

pip install supervisor

2.创建supervisor配置文件,命令如下:

echo_supervisord_conf > supervisord.conf

3.编辑supervisord.conf,在最后增加下列内容:

[program:celery]
command=/usr/bin/celery worker -A tasks
directory=/data/www
stdout_logfile=/data/logs/celery.log
autostart=true
autorestart=true
redirect_stderr=true
stopsignal=QUIT

command:运行命令

directory:命令运行目录      

4. 运行supervisor

/usr/bin/supervisord  (该运行命令根据你的安装路径为准,安装目录为你所使用的python安装目录下的bin目录内,如果有使用virtualenv请自行区分)


你可能感兴趣的:(python,linux,celery)