django-celery'un yönetici arabirimini kullanarak kereviz için düzenli bir görev oluşturmak istiyorum. El ile veya komut dosyasıyla çağrıldığında harika çalışan bir görevim var. Sadece celerybeat ile çalışmaz. Hata ayıklama günlüklerine göre görev, ilk almada enabled = False
olarak ayarlanmıştır ve nedenini merak ediyorum.celerybeat otomatik olarak periyodik görevi devre dışı bırakır
Periyodik görevi eklerken ve [1, False]
konumunu konumsal argümanlar olarak geçirirken, görev otomatik olarak devre dışı bırakılır ve daha fazla çıktı göremiyorum. Argümanlar eklenmediğinde, görev yürütülür, ancak gerekli argümanları sağlamadığım için anında bir istisna yaratır (mantıklıdır).
Burada sorunun ne olduğunu gören var mı?
Şimdiden teşekkürler.
Bu
besleyen argümanlar sonra çıktısı:[DEBUG/Beat] SELECT "djcelery_periodictask"."id", [...]
FROM "djcelery_periodictask"
WHERE "djcelery_periodictask"."enabled" = true ; args=(True,)
[DEBUG/Beat] SELECT "djcelery_intervalschedule"."id", [...]
FROM "djcelery_intervalschedule"
WHERE "djcelery_intervalschedule"."id" = 3 ; args=(3,)
[DEBUG/Beat] SELECT (1) AS "a"
FROM "djcelery_periodictask"
WHERE "djcelery_periodictask"."id" = 3 LIMIT 1; args=(3,)
[DEBUG/Beat] UPDATE "djcelery_periodictask"
SET "name" = E'<taskname>', "task" = E'<task.module.path>',
"interval_id" = 3, "crontab_id" = NULL,
"args" = E'[1, False,]', "kwargs" = E'{}', "queue" = NULL,
"exchange" = NULL, "routing_key" = NULL,
"expires" = NULL, "enabled" = false,
"last_run_at" = E'2011-05-25 00:45:23.242387', "total_run_count" = 9,
"date_changed" = E'2011-05-25 09:28:06.201148'
WHERE "djcelery_periodictask"."id" = 3;
args=(
u'<periodic-task-name>', u'<task.module.path>',
3, u'[1, False,]', u'{}',
False, u'2011-05-25 00:45:23.242387', 9,
u'2011-05-25 09:28:06.201148', 3
)
[DEBUG/Beat] Current schedule:
<ModelEntry: celery.backend_cleanup celery.backend_cleanup(*[], **{}) {<crontab: 0 4 * (m/h/d)>}
[DEBUG/Beat] Celerybeat: Waking up in 5.00 seconds.
DÜZENLEME: Aşağıdaki ayarı ile çalışır. Hala neden django-celery ile çalışmadığı konusunda hiçbir fikrim yok.
CELERYBEAT_SCHEDULE = {
"example": {
"task": "<task.module.path>",
"schedule": crontab(),
"args": (1, False)
},
}
size görev ve periodictask yapılandırmasını gönderebilir miyim? –
Sorunumu gördüğünüz için teşekkür ederiz. Ben "CELERYBEAT_SCHEDULE" yi ben koymadım, çünkü bunun yerine django-ciyety'nin yönetimini kullandım. Ayrıca [SSS] 'i (http://docs.celeryproject.org/en/latest/faq.html#why-won-t-my-task-run) da kontrol ettim, ancak asıl gönderide söylediğim gibi görevi el ile kabuğundan başlatabilir. Gözardı edebileceğim başka bir şey var mı? – jnns
Tam olarak aynı sorun var mı ... Herhangi bir çözüm? – Aldarund