我有一个发送电子邮件的cron作业。为了在GAE配额内,每发送一封电子邮件后,它会睡8秒钟(time.sleep(8)
)。结果,作业运行超过60秒,我得到CancelledError: The API call logservice.Flush() was explicitly cancelled
异常。
我找到了解决方案here并在每封邮件发送后开始手动调用logservice.Flush()
,但它没有帮助。所以,我想了解原因。我应该将AUTOFLUSH_ENABLED
更改为False
以使用manual flush吗?
答案 0 :(得分:0)
为什么不使用cron来发送发送电子邮件的任务,然后你有10分钟而不是60秒来运行这份工作。
答案 1 :(得分:0)
大多数情况下,睡眠达到配额可以使用任务队列替换,并管理队列速率,如documentation中所述。