0
我在一個在線遊戲中使用芹菜和Django。用戶建造各種類型的船隻,並且任務被設置爲在一定時間之後提供它們。芹菜任務執行不正確
舉個例子:
def buildfighter(world, amount):
world.shipyardsinuse = F('shipyardsinuse') + 1*amount
world.save()
newtask.buildfighter.apply_async(args=(world.worldid,amount), eta=outcometime)
我的實際任務的代碼,待1個小時後執行:
def buildfighter(worldno, amount):
world = World.objects.get(worldid=worldno)
world.fighters = F('fighters') + amount
world.shipyardsinuse = F('shipyardsinuse') - 1*amount
world.save()
任務提供這種船隻和釋放的船廠。
我總是收到偶爾報告用戶遇到被封鎖的造船廠和失蹤船舶通過eta,併爲我的生活我不明白爲什麼!我已經建立了芹菜攝影機,當我回去檢查那些失蹤的任務時,他們都顯示爲SUCCEEDED
。
我settings.py的芹菜部分:
import djcelery
djcelery.setup_loader()
BROKER_URL = "amqp://guest:[email protected]:5672//"
CELERY_IMPORTS = ("wawmembers.tasks",)
CELERY_RESULT_BACKEND='djcelery.backends.database:DatabaseBackend'
CELERY_TASK_RESULT_EXPIRES = 14400
CELERY_DISABLE_RATE_LIMITS = True
誰能幫助?