feat: add waitUntil option for serverless environments
#108
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I'm trying to use bentocache in a serverless environment, however, to properly take advantage of the "grace" (swr) functionality background promises need to be registered with
waitUntilso they don't get terminated. I've added support for that, in the two places I think it needed, and it seems to be working correctly on my website. Let me know if you want any changes, or think I missed anything.I got copilot to generate a summary.
Summary
This pull request introduces support for registering background tasks in serverless environments via a new
waitUntiloption inBentoCache. This is essential for enabling background cache revalidation (SWR) in platforms like Vercel and Cloudflare Workers, ensuring that background tasks can complete even after the main response is sent. The documentation has been updated to explain how and when to use this option, and example usage is provided for common serverless platforms. Additionally, minor formatting and consistency improvements were made to the documentation.Serverless background task support:
waitUntiloption toBentoCache(RawBentoCacheOptions,BentoCacheOptions) to allow registration of background tasks, enabling proper SWR (Stale-While-Revalidate) behavior in serverless environments. This option is now called in relevant code paths when background revalidation is triggered. [1] [2] [3] [4] [5]Documentation updates:
docs/options.mdto document the newwaitUntiloption, including explanations, usage scenarios, and code examples for Vercel and Cloudflare Workers.