Windows的Celery任务超时/时间限制?

Akr*_*iac 8 python windows signals celery

我有一个用Flask编写的Web应用程序,目前正在Windows上的IIS上运行(不要问...).

我正在使用Celery来处理一些异步处理(访问慢速数据库并生成报告).

但是,在尝试设置错误处理的某些行为时,我在文档中遇到了这种情况:

"时间限制目前不适用于Windows和其他不支持SIGUSR1信号的平台."

由于数据库可能变得非常慢,我真的希望能够为我的任务指定超时行为,并让它们稍后在数据库可能没有这么任务时重试.鉴于应用程序由于各种原因必须从Windows提供,是否有任何解决方法?

非常感谢你的帮助.

小智 0

Celery 中似乎没有任何内置的解决方法。您可以直接将其编码到您的任务中吗?换句话说,在 python 代码中,在开始任务时启动一个计时器,如果任务花费太长时间才能完成,则引发异常,然后再次将作业重新提交到队列。