最佳实践里提到的7个问题:

1,不要使用数据库作为你的AMQP Broker

2,使用更多的queue(不要只用默认的)
3,使用具有优先级的workers
4,使用Celery的错误处理机制
5,使用Flower
6,没事别太关注任务退出状态
7,不要给任务传递 Database/ORM 对象

 

flask中使用celery:http://www.pythondoc.com/flask-celery/index.html

 介绍了定时任务

delay() 方法是 apply_async() 的快捷调用

相比于 delay() 方法,当使用 apply_async() 方法时,我们能够对后台任务的执行方式有更多的控制。例如任务在何时执行等。   举例来说,下面的代码可以让任务在一分钟之后开始运行。

task = my_background_task.apply_async(args=[10, 20], countdown=60)

  delay() 和 apply_async() 的返回值是一个 AsyncResult 的对象。通过该对象,能够获得任务的状态。   使用示例:  https://www.cnblogs.com/ifkite/p/4257721.html  

celery_最佳实践

 celery_最佳实践_02

celery_flask_03

 celery_flask_04

 =====================

投入到指定的队列用:add.delay(1, 3, queue='queue_add1') 

=======================

celery_最佳实践_05