请拨打以下代码
tasks.update_address_location.apply_async((address_obj.id), countdown = 10)
但是,任务会立即在队列中执行。它的工作方式也是我必须排除的其他可能性。以为某人可能有答案
capp = Celery('async', backend='redis://localhost:6379/0',
broker='redis://localhost:6379/0', include=['app.async.tasks'])
# Optional configuration, see the application user guide.
capp.config_from_object(celeryconfig)
capp.conf.update(
CELERY_TASK_RESULT_EXPIRES=3600,
)
if __name__ == '__main__':
capp.start()
和芹菜这样称呼:
celery multi stop worker -A app.async.celery_app:capp --beat --loglevel=debug --pidfile=celery.pid --logfile=celery.log
celery.log中的输出是一致且成功的,但没有延迟。
答案 0 :(得分:2)
quirk的python - (x) == x
- 包含一个元素的元组必须包含逗号 - (x,)
这样做:
apply_async((address_obj.id,), {}, countdown=10)