celery
feixiaohuijava
这个作者很懒,什么都没留下…
展开
-
celery confirm 机制
在rabbitmq官方文档中提到消息发送到rabbitmq中有消息确认机制,且里面提到的是pika模块实现的。那么celery呢?celery已经用py-amqb模块自动实现了消息确认机制! 可以参考stackoverflow该网友自问自答的问题: https://stackoverflow.com/questions/35996065/what-is-the-correct-way-to-co原创 2017-08-16 10:17:56 · 1534 阅读 · 0 评论 -
celery message priority
有一个需求,就是同一个队列中的消息使用有优先级,如何保证,优先级高的消息先消费,消费完后且task跑完后,再继续拿取消息后消费。。 实现前提: 1 worker中的task任务是这样的,一个父进程,多个子进程,父进程是分配task任务,而子进程则才是执行task任务。默认的子进程个数是机器cpu核数(不太懂核数这个概念,反正百度搜一把感觉就是那样) 2celery需要配置CELERY_ACKS原创 2017-08-17 10:42:07 · 631 阅读 · 0 评论 -
celery task任务在redis存储有乱码
celery的task任务结果在redis存储的时候有乱码显示。其原因具体不清楚,可以参考: https://segmentfault.com/q/1010000007019424?_ea=1210488貌似,无法改变redis里面存储的东西,用Python的pickle就可以pickle.loads(“所谓的乱码”) 输出就可以了原创 2017-08-28 18:04:51 · 1504 阅读 · 1 评论 -
celery heart-beat
刚开始,我以为在celery配置文件中配置的BROKER_HEARTBEAT这个参数是指worker和rabbitmq的心跳都为十秒,不过后来测试才发现,只有rabbitmq才会在十秒后收不到对方反应,就会将与celery的TCP连接给断开,而worker的TCP并无反应,直到过了十几分钟worker才意识到连不上rabbitmq了。 很奇怪! 后来查资料才知道,rabbitmq的心跳机制是在a原创 2017-09-11 16:26:30 · 4781 阅读 · 0 评论