Gitpulse
LatestReleasesStand-up
Developing
Size
M
Medium: 100-500 weighted lines
Change Breakdown
Feature80%
Performance10%
Docs10%
#3196feat: add ttl support at task and config levels

Time-to-live limits being added to prevent stale tasks from executing

NI
nicktrn
·#3196feat: add ttl support at task and config levels

Tasks that sit in the queue too long will soon be automatically discarded. A cascading time-to-live configuration system is being rolled out across global, task, and trigger levels to prevent outdated workloads from running.

Here's the LatestUpdated as code changes

Tasks can now be configured to automatically expire if they wait in the queue for too long. A cascading time-to-live (TTL) system[[/ref:1]] is being introduced, allowing expiration limits to be set globally, per-task, or at the individual trigger level. If a run is not picked up by a worker before the TTL expires, it is permanently removed from the queue.

The resolution logic is designed to maintain high throughput by extracting the TTL during the initial trigger phase without requiring additional database queries[[/ref:2]]. Settings are applied sequentially, with local trigger options overriding task-level rules, which in turn override global settings. To configure it, here is how a global default[[/ref:3]] is set:

typescript
1export default defineConfig({
2 project: "my-project",
3 ttl: "1h",
4});
This analysis will evolve. Full story with review threads and final assessment available after merge.
View Original GitHub Description

Add TTL (time-to-live) defaults at task-level and config-level, with precedence: per-trigger > task > config > dev default (10m).

Docs PR: #3200 (merge after packages are released)

© 2026 · via Gitpulse