Is there a way to force a Dataflow job to stop after it is running for a long time

Viewed 99

is there a way to force a DAtaflow job to kill itself if it is running longer than xxx hours? Kind regards Marco

2 Answers

Posting the comment as an answer.

We are in the process of implementing this for Batch Pipelines. It is not yet available as a Dataflow flag, but it will be within a month.

We recently implemented this feature for Dataflow. You would do it by passing an extra experiment:

--experiments=max_workflow_runtime_walltime_seconds=300

Or whatever number of seconds.


Programatically this would be like so:

String experimentValue = String.format(
    "max_workflow_runtime_walltime_seconds=%d",
    killAfterSeconds);
ExperimentalOptions.addExperiment(myOptions.as(ExperimentalOptions.class), experimentValue);

In Python:

experiment_value = "max_workflow_runtime_walltime_seconds=%d" % timeout_secs
my_options.view_as(DebugOptions).add_experiment(experiment_value)
Related