The lifecycle of an application is rich; the multiple code addition, removal, and related API deployments could leave your Defer application in an unwanted state (ex: mass execution failures due to a regression or outdated functions list).
To prevent such a situation, we are happy to release two key features for the management of your background functions: Paused functions and auto-archiving of outdated functions.
Executions are always performed against the last available build.
While this works for most scenarios, some API deployments might introduce a breaking change, for example, a database migration that would break the executions on Defer side.
While we will introduce build-synchronization in the future, we recommend you to handle breaking-change deployment by pausing your functions from the Defer Console:
A paused function will continue to accept execution and hold them as “Queued” until it gets resumed.
Resuming a function will run all pending executions on the last available Build.
We recommend pausing your functions in 2 scenarios:
Many of our customers have been using Defer for months, renaming functions or removing some of them.
This led to their Function Insights view listing outdated Functions and spreading over many pages.
The Defer Platform now treats “outdated” functions - background functions no longer present in the codebase - properly by still accepting new executions but removing them from the Function Insights view.
Executions for outdated functions will be paused, as “Queued” - Outdated CRONs will not be scheduled.
When a function is restored in the codebase, all pending executions will be resumed - the same goes for CRONs.
This behavior is the first version of Function archiving; we also plan to introduce an “Archive” action directly from the Function Insights view.
We hope that those 2 new Defer Console features will help you better manage your background functions executions; we look forward to getting more feedback from you all to continue to improve Defer!
Explore our latest features, including TypeScript 5.x compatibility, PNPM integration, Yarn Plug'n'Play compatibility and Git submodule.
Narrowing down to a specific background execution can feel like searching for a needle in a haystack. We are happy to roll out Function Metadata, allowing you to leverage the filters you know the most, the ones you define: user ID, emails, and more!