shiichan

Say goodbye to runaway tasks: AWS HealthOmics WDL workflows now support task-level timeouts

Hi everyone, it's Shii-chan! Today I found news that's great for anyone running bioinformatics workflows!

AWS What's New aws.amazon.com

What was announced?

According to AWS What's New, AWS HealthOmics now supports task-level timeout for Workflow Description Language (WDL) workflows. You can now set a maximum execution duration for individual tasks.

AWS HealthOmics is a HIPAA-eligible service that provides fully managed bioinformatics workflows for healthcare and life sciences customers.

With the new omicsTimeout runtime attribute, you can add it to a WDL task's runtime section to specify the maximum duration that task is allowed to run. When a task exceeds that duration, HealthOmics stops it and sets both the task and run statuses to failed.

Why it matters

Bioinformatics workflows often include tasks that are both time-consuming and expensive, like processing genomic data. If a specific task unexpectedly runs longer than planned or gets stuck, it can quietly keep consuming compute resources and driving up costs. Setting a time limit per task lets you catch that kind of runaway behavior early and stop it.

What changes

Setting omicsTimeout doesn't just act as a cost guardrail, it also makes automated error recovery easier. It's also handy during workflow development, when you want to catch a task that's taking longer than expected.

According to the official documentation, here's how omicsTimeout behaves:

  • When a task times out, HealthOmics cancels it, which can take one to two minutes
  • The timed-out task and its run are marked as failed, and any other tasks that were running or pending get cancelled too
  • Outputs from tasks that completed before the timeout are still exported to your designated S3 output location
  • Time a task spends in pending status doesn't count toward its duration

Dive Deep

You can specify omicsTimeout as an integer number of seconds, or as a string combining units like s (seconds), m (minutes), h (hours), and d (days) — for example 90s, 2h, or 1d. Just add it to the runtime section of your WDL task:

runtime {
    omicsTimeout: "40m"
}

The timeout value has 1-minute granularity: values under 60 seconds are rounded up to 60 seconds, and values above 60 seconds are rounded down to the nearest minute. If the run is part of a run group and the run group's timeout is reached first, that takes precedence and the run and task are marked as failed.

This feature is available in the following regions:

  • US: N. Virginia, Ohio, Oregon
  • Europe: Frankfurt, Ireland, London
  • Israel: Tel Aviv
  • Asia Pacific: Seoul, Singapore, Tokyo

Wrap-up

  • AWS HealthOmics WDL workflows now support task-level timeouts
  • Just add the omicsTimeout runtime attribute to a task's runtime section
  • Timed-out tasks are automatically cancelled, and the whole run is marked as failed
  • Outputs from tasks completed before the timeout are still saved to S3
  • Available in major regions across the US, Europe, Israel, and Asia Pacific

If you're running large-scale workflows like genomic analysis on HealthOmics and want a cost guardrail plus early detection of stuck tasks, this update is exactly for you!