看板 Python 關於我們 聯絡資訊
各位大大好 小弟最近剛接觸 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://www.ptt.cc/bbs/Python/M.1495175285.A.44E.html ※ 編輯: kagari (140.123.111.67), 05/19/2017 15:15:48
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