如何将Airflow dag配置为每天在指定时间执行,无论发生什么,就像crons一样。
我知道使用 TimeSensor 可以获得类似的行为,但在这种情况下,这取决于传感器任务,并且可能与 dag 执行时间冲突。
示例:对于传感器方法,如果我让传感器在0小时15分钟运行,但如果dag在稍后执行,则我的任务会延迟,因此即使对于传感器方法,我也需要确保Dag在正确的时间执行。
那么如何确保Dag在指定的时间执行呢?
实例化DAG时,可以将schedule_interval设置为字符串cron表达式:
schedule_interval='0 * * * *'
底座操作员留档
@如虹我在一个评论里看到你在疑惑隔天怎么办。月份是第三个参数,如果您执行< code>2 30 */2 * *,它将每隔一天运行一次(在凌晨2:30)。它会根据月份来计算,有时会有点奇怪。您可以通过指定范围来强制它在偶数或奇数天运行:
# Will only run on odd days:
2 30 1-31/2 * * command
# Will only run on even days:
2 30 2-30/2 * * command
例如,若要在每天凌晨 2:30 启动 DAG,可以执行以下操作:
DAG(
dag_id='dag_id',
# start date:28-03-2017
start_date= datetime(year=2017, month=3, day=28),
# run this dag at 2 hours 30 min interval from 00:00 28-03-2017
schedule_interval='30 2 * * *')
在配置计划之前,可以在https://crontab.guru/验证和测试cron间隔的解释
现在我每天下午3点运行我的cron作业 但是我想一天运行两次cron作业。上午10点30分和下午2点30分 我相信此命令将在上午 10:30 运行。我应该如何在下午 2:30 运行它?
问题内容: 我想每天早上5点执行某项任务。因此,我决定使用它,但到目前为止,我已经看到了一些示例,这些示例显示了如何每隔几分钟运行一次任务。 而且我找不到任何示例来说明如何每天在特定时间(上午5点)每天运行任务,并且还考虑了夏时制的事实- 以下是我的代码,每15分钟运行一次- 有什么办法,我可以考虑兼顾夏时制的事实,安排一个任务在每天的凌晨5点运行? 而且对于这个还是更好? 问题答案: 与当前的J
我正在寻找一种方法,在kubernetes上部署一个pod,每天运行几个小时。本质上,我希望它每天早上8点运行,并继续运行到下午5:30左右。 我已经研究了很多,还没有找到一种在考虑特定时间框架的情况下部署pod的方法。我找到了cron作业,但这似乎是为了终止自己的pod,而我的应该不断运行。 有没有办法以这种方式在kubernetes上部署我的pod?还是我应该设置pod本身以根据其内部时钟运行
我一直在尝试让我的不和谐机器人每天在特定时间运行一个功能。目前,机器人每24小时可以做一些事情,所以我需要做的就是让它在特定时间启动。但是,我不知道为什么我不能让它工作。我尝试了多种解决方案,使用时间表、aioscheduler等。我尝试了其他时候的解决方案,这个问题被问到,但我无法让它们工作。 目前,机器人运行,它没有抛出任何错误,但函数roletask()似乎从未被调用。((出于测试目的,Ro
我在使用discord。py创建一个discord机器人,我需要每天在特定的时间执行某些操作。我看到了这个答案:如何在不和谐中循环。py重写?到目前为止,我一直在使用它。 当我在heroku免费计划上托管我的机器人时,问题就开始了。Heroku上的服务器每天至少重置一次,这会弄乱计时器,如该帖子所示。 我还看到了日程库。这个的问题是它似乎使用了一个无限循环。这不会阻止我在24小时内运行其他任何东西
问题内容: 我是Java的新手,我已经开始从事一个项目。但是,我遇到了一个障碍。我需要一种在一天中的特定时间运行的方法。我已经做了很多搜索,但是找不到任何可以解决问题的方法。我遇到了Timer类,但它似乎以一定的间隔运行。Scheduler类似乎也有同样的问题。我也遇到过Quartz,但是我认为我需要更轻巧的东西,而且只能隔一段时间看一下如何做。 也许只是因为我是新手,所以我错过了一些可以在这些课