本地使用celery测试的时候我们可以直接在不同的终端直接运行 Celery 进程,但是如果要在服务器上运行,那我们岂不是得开好几个终端?而且退出终端之后 Celery 进程也就停止了,能不能让 Celery 在后台以守护进程的方式运行呢?答案是肯定的,今天我们先介绍用
supervisor
使celery在后台运行
一、先安装supervisor
1、安装命令:
pip install supervisor
如果在沙盒环境下安装不上的话使用: …
本地使用celery测试的时候我们可以直接在不同的终端直接运行 Celery 进程,但是如果要在服务器上运行,那我们岂不是得开好几个终端?而且退出终端之后 Celery 进程也就停止了,能不能让 Celery 在后台以守护进程的方式运行呢?答案是肯定的,今天我们先介绍用
supervisor
使celery在后台运行
1、安装命令:
pip install supervisor
如果在沙盒环境下安装不上的话使用: …
Celery是Python开发分布式任务列队的处理库。可以异步分布式地异步处理任务,也可定时执行任务等等。通常我们可以在Django执行一些比较耗时的任务(例如批量发邮件)和后台定时任务等。
研究发现,在Django中使用celery有两种方式:
我们这里选择的是第二种方案。
官方给出的broker列表如下
Name | Status | Monitoring | Remote Control |
---|---|---|---|
RabbitMQ | Stable … |
以下安装操作是在Ubuntu16.04系统下完成,其他发行版本或者类Unix系统可能稍有不同。(Redis有编号0~15共16个数据库。)
redis是Key Value nosql数据库,数据存储在内存中,单进程,自己实现了一套异步事件处理,虽然单进程但是数据库处理很快,异步持久化。