首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用节拍再次运行芹菜任务之前,如何检查它是否已经在运行?

在使用节拍再次运行芹菜任务之前,如何检查它是否已经在运行?
EN

Stack Overflow用户
提问于 2019-08-03 07:38:56
回答 2查看 1.6K关注 0票数 7

我有一个定期任务,计划每10分钟运行一次。有时此任务在2-3分钟内完成,有时需要20分钟。

如果之前的任务还没有完成,有没有办法使用芹菜节拍来不打开任务?我在间隔设置中看不到它的选项。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-04 17:36:39

不,芹菜节拍对运行任务一无所知。

实现你正在尝试做的事情的一种方法是将任务与自身联系起来。例如,async_apply()有可选的参数linklink_error,它们可以用来提供一个签名(也可以是单个任务),以便在任务成功完成(链接)或未成功完成(link_error)时运行。

我使用的是以下方法--我安排任务频繁运行(比如每5分钟运行一次),并使用分布式锁来确保我始终只有一个任务实例在运行。

最后提醒一下-您可以始终实现自己的调度器,并在您的节拍配置中使用它。我曾经想过为了你想要的完全一样的东西做这件事,但是我决定我已经有的解决方案对我来说已经足够好了。

票数 6
EN

Stack Overflow用户

发布于 2019-11-10 19:08:48

你可以试试this,它为你的任务提供了一个单例基类。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57334468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档