所以我有我稱之爲它發送另一個任務的任務電子郵件:芹菜異步任務只執行一次
@app.task(name='login.sync.register')
def register(user_obj):
result = user_service.register(user_obj)
from .async import send_verification_email
send_verification_email.delay(result['user']['id'])
return result
電子郵件發送任務是:
@app.task(name='login.async.send_verification_email', bind=True, max_retries=3)
def send_verification_email(self, user_id):
try:
email_service.send_verification_email(user_id)
except Exception as exc:
raise self.retry(exc=exc)
它完全適用於第一時間。電子郵件得到發送。當我第二次調用註冊任務時,它會成功,但send_verification_email不會被執行。我在日誌中沒有看到任何東西。
任何想法爲什麼?當我重新啓動芹菜工作人員時,它首次發送電子郵件,但之後停止發送電子郵件。
你嘗試用user_id重寫註冊任務,就像在send_verification_email中,然後從db中加載它? – kobuz