Runs can exceed the maximum timeout on serverless platforms and can survive server restarts.Documentation Index
Fetch the complete documentation index at: https://trigger-v3-fix-additional-files.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
How does this work?
- When a Run is created, it is given a unique ID. This ID is used to identify the Run.
- Tasks have a
cacheKeywhich is a string and is the first parameter. This should be stable and unique inside thatrunfunction. - When a Task is completed, its output is stored.
- If a Run exceeds the timeout, or your server restarts, the Run will be “replayed”.
- The second+ time it is run, Tasks that have already successfully completed will immediately return their first output. The code inside them won’t re-run.
How to use cache keys
Like we mentioned above, we use Task cache keys to determine which Tasks have already been executed. They are defined by you inside yourrun function, for example when you call io.slack.postMessage:
"⭐️ New Star". This means that if the Job is interrupted and then resumed, the slack.postMessage Task will be skipped because it has already been executed.
If you make multiple calls to slack.postMessage, you should use different cache keys for each call. For example:
slack.postMessage with the key "⭐️ New Star" twice, it will only be executed once.
See our Task concept guide for more information about tasks and how they are crucial to the resumability of your Jobs.

