celery的最佳实践:https://www.cnblogs.com/ajianbeyourself/p/3889017.html#_label1 原版:https://denibertovic.com/posts/celery-best-practices/
最佳实践里提到的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
https://www.cnblogs.com/cwp-bg/p/8759638.html
https://www.cnblogs.com/cwp-bg/p/10575688.html
介绍了定时任务:https://www.cnblogs.com/juandx/p/5242442.html https://www.cnblogs.com/forward-wang/p/5970806.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
![](https://img2018.cnblogs.com/blog/1161222/201904/1161222-20190412112015923-1297677232.png)
=====================
投入到指定的队列用:add.delay(1, 3, queue='queue_add1')
=======================