celery開啟程序,執行緒,協程
阿新 • • 發佈:2019-02-16
做推送通知,選用的celery。使用後沒有掉單,但是有時候推送資料慢。11:50到12:00查到推送2000筆,這時候有的使用者已經延遲十分鐘才將支付狀態更新完成。後來排查是沒有應用多執行緒,協程這些東西,預設只是開啟幾個程序。
CELERYD_CONCURRENCY = 20 這是開啟幾個程序設定,用了這個會卡死。。。
celery.worker_main(argv=[' ',
'--loglevel=info',
'--logfile=./log.txt',
'--pool=gevent',
'--concurrency=100',
])
最後看了看官網,還是有介紹的。有perfork,eventlet,gevent幾種進行,協程方法,最後我們選用了gevent。測試結果是兩分鐘推送5000,這是在接收端等待3s的緣故。如果有需要,將機器配置提升一下,我想還會更快
http://blog.51cto.com/linuxnewstar/1884437
一個交換機配置示例的地址