作者kagari (咖咕哩)
看板Python
标题[问题] celery会重复执行任务?
时间Fri May 19 14:28:01 2017
各位大大好
小弟最近刚接触 celery 目前用 Django 结合 celery 处理 long process
可是遇到问题就是 celery worker 是否有什麽处理 task 的限制
我丢入的 task 到一定数量後 就会开始 loop
worker 会不理我後面丢入的 task
我的 Django 架构大致如下
proj 根目录
└ app
├─ myapp.py # 跑分析的 code
├─ tasks.py
└─ views.py
程式码如下
https://gist.github.com/anonymous/1ba5217364d481f61007df4ed1d43a50
原本还以为是我分析的 code 有问题
结果改成单纯的 print 值也有问题
我从 0 开始开始 +1 +1 print 过去
到第8个他就不理我 进入 loop 了
结果如下
http://imgur.com/vZJpjZ1
希望熟悉 celery 的大大可以帮助我一下
-------------------------------------------------------
後来新增:
我发现安装 flower 後,看到 worker 的设定。
http://i.imgur.com/R1dguRk.png
Max concurrency 显示为8。
应该是这边的设定让他进入 LOOP。
可是奇怪的是我只是 print 个值。
print 完应该就结束了。应该没有还在执行中才对。
他这边应该是限定一次最多同时执行8个tasks吧?
是不是我 print 完後,我的task还在卡位中?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.123.111.67
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1495175285.A.44E.html
※ 编辑: kagari (140.123.111.67), 05/19/2017 15:15:48
1F:推 billy0131: 你丢的code没+1啊...你那个变数怎麽存的 05/20 01:45
我自己手动去文件内改的
※ 编辑: kagari (114.33.254.149), 05/20/2017 10:29:22
※ 编辑: kagari (140.123.111.67), 05/24/2017 17:48:51