2015-12-22 24 views
2

我有一個芹菜安裝rabbitmq。問題在於,芹菜在執行長任務時正在將任務移至保留狀態,並且在長時間運行任務完成之前不執行它們。從python的-Ofair芹菜運行工

我要完成,沒有使用路由,並啓用「-Ofair」標誌做這項工作。 Prefork pool prefetch settings

如何啓用芹菜蟒蛇的標誌?由於

我使用芹菜3.1.19

$ celery report 
software -> celery:3.1.19 (Cipater) kombu:3.0.32 py:3.4.3 
      billiard:3.3.0.22 py-amqp:1.4.8 
platform -> system:Linux arch:64bit, ELF imp:CPython 
loader -> celery.loaders.default.Loader 
settings -> transport:amqp results:disabled 

我使用芹菜如下,併發設置爲4:

app = celery.Celery() 
app.conf.update(
    BROKER_URL=broker, 
    CELERY_RESULT_BACKEND=backend, 
    CELERY_TASK_SERIALIZER='json', 
    CELERY_IMPORTS=imports or [], 
    CELERYD_CONCURRENCY=concurrency, 
    CELERYD_HIJACK_ROOT_LOGGER=False 
) 

這裏是我開始工作人員:

worker = app.Worker(
    hostname=hostname, 
    queues=[hostname] 
) 
worker.start() 
+0

你的意思是你想在芹菜設置中設置標誌嗎? –

+0

是使用配置選項或其他解決方案的問題 –

+0

使用-Ofair有什麼問題? –

回答

4

你應該可以這樣運行它。

worker = app.Worker(
    hostname=hostname, 
    queues=[hostname], 
    optimization='fair' 
) 
worker.start() 
+0

它的工作原理,謝謝。你在哪裏找到它?我無法在芹菜文檔中找到該選項 –

+2

這不是在文檔中,我經歷了源​​代碼:) –