1. 程式人生 > >celery開啟程序,執行緒,協程

celery開啟程序,執行緒,協程

做推送通知,選用的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

一個交換機配置示例的地址