2011-09-21 67 views
4

我試圖同時用戶在瀏覽我的網站在後臺運行一些任務,但每當我用芹菜調用一個函數它似乎是同步而不是異步執行。芹菜的Django:無法執行任務異步

例如,當我打電話function.delay()整個網站掛起,直到function.delay()返回。以類似的方式調用函數的其他方法(apply_async,子任務)也存在同樣的問題。

我猜在任何Django的或芹菜的東西是配置錯誤,但我不知道它是什麼。在settings.py

芹菜配置:

import djcelery 
djcelery.setup_loader() 

CELERY_RESULT_BACKEND = "amqp" 
CELERYBEAT_SCHEDULER = "djcelery.schedulers.DatabaseScheduler" 
BROKER_HOST = "localhost" 
BROKER_PORT = 5672 
BROKER_USER = "test" 
BROKER_PASSWORD = "test" 
BROKER_VHOST = "testhost" 

TEST_RUNNER = "djcelery.contrib.test_runner.run_tests" 

CELERY_IMPORTS = ("myapp.tasks",) 

BROKER_BACKEND = "memory" 
CELERY_ALWAYS_EAGER = True 

嘗試啓動以 「./manage.py celeryd」 芹菜守護程序時,得到以下輸出:

[2011-09-23 09:25:38,026: WARNING/MainProcess] 

-------------- [email protected] v2.2.7 
---- **** ----- 
--- * *** * -- [Configuration] 
-- * - **** --- . broker:  memory://[email protected]:5672/testhost 
- ** ---------- . loader:  djcelery.loaders.DjangoLoader 
- ** ---------- . logfile:  [stderr]@WARNING 
- ** ---------- . concurrency: 4 
- ** ---------- . events:  OFF 
- *** --- * --- . beat:  OFF 
-- ******* ---- 
--- ***** ----- [Queues] 
-------------- . celery:  exchange:celery (direct) binding:celery 


[2011-09-23 09:25:38,035: WARNING/MainProcess] [email protected] has started. 
+0

什麼Web服務器您使用的讀有用嗎? – WTK

+0

我目前正在使用默認的Django設置關閉本地主機。計劃一旦我開始使用Apache,就使用Apache。 –

+0

嗯,你提供相關的芹菜然後配置和給我們介紹一下你是怎麼開始芹菜守護進程。 – WTK

回答