Django配置celery(非djcelery)执行异步任务和定时任务 (2)

1.如果你同时使用了异步任务和计划任务,有一种更简单的启动方式celery -A website worker -b -l info,可同时启动worker和beat
2.如果使用的不是rabbitmq做队列那么需要在主配置文件中website/celery.py配置broker和backend,如下:

# redis做MQ配置 app = Celery('website', backend='redis', broker='redis://localhost') # rabbitmq做MQ配置 app = Celery('website', backend='amqp', broker='amqp://admin:admin@localhost')

3.celery不能用root用户启动的话需要在主配置文件中添加platforms.C_FORCE_ROOT = True
4.celery在长时间运行后可能出现内存泄漏,需要添加配置CELERYD_MAX_TASKS_PER_CHILD = 10,表示每个worker执行了多少个任务就死掉

参考文章:

https://github.com/pylixm/celery-examples

https://pylixm.cc/posts/2015-12-03-Django-celery.html

image

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpwyzx.html