繁体   English   中英

Timedeltasensor从计划间隔延迟

[英]Timedeltasensor delaying from schedule interval

我有一份工作在 13:30 运行。 其中第一个任务需要将近 1 个小时才能完成,然后我们需要等待 15 分钟。 所以,我正在使用如下所示的 Timedeltasensor。

waitfor15min = TimeDeltaSensor(
        task_id='waitfor15min',
        delta=timedelta(minutes=15),
        dag=dag)

但是在日志中,它显示 schedule_interval + 15 分钟,如下所示

[2020-11-05 20:36:27,013] {time_delta_sensor.py:45} INFO - Checking if the time (2020-11-05T13:45:00+00:00) has come
[2020-11-05 20:36:27,013] {base_sensor_operator.py:79} INFO - Success criteria met. Exiting.
[2020-11-05 20:36:30,655] {logging_mixin.py:95} INFO - [2020-11-05 20:36:30,655] {jobs.py:2612} INFO - Task exited with return code 0

如何在工作之间创建延迟?

您可以使用PythonOperator并编写一个只需等待 15 分钟的函数。 有一个关于等待任务的示例:

def my_sleeping_function(random_base, **kwargs)):
    """This is a function that will run within the DAG execution"""
    time.sleep(random_base)


# Generate 5 sleeping tasks, sleeping from 0.0 to 0.4 seconds respectively
for i in range(5):
    task = PythonOperator(
        task_id='sleep_for_' + str(i),
        python_callable=my_sleeping_function,
        op_kwargs={'random_base': float(i) / 10},
        provide context=true,
        dag=dag,
    )

    run_this >> task

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM