celery

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
 

 

 

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

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

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

 

posted on 2019-04-11 14:30  我和你并没有不同  阅读(163)  评论(1编辑  收藏  举报