We launched Convex Components to make adding features to your app easier! 🎉

Learn more
Back

Scheduled functions & crons

Configure functions to run periodically

Built-in functionality

Convex lets you run functions asynchronously: on a pre-defined schedule or dynamically at a chosen time. You can schedule a mutation or action function to run later. If you are scheduling from a mutation (a read/write transaction, for those of you new to Convex), the scheduling is also transactional: the scheduled functions will only run if the mutation successfully commits, allowing you to build robust workflows with strong guarantees.

The power of abstraction

Strong guarantees allow building robust libraries to handle automatically retrying actions (a serverless function environment that is allowed to be non-deterministic and have side effects like making http requests), and build abstractions for crons entirely on top of Convex.

It also allows you to store metadata about currently running jobs, along with IDs that provide access to the asynchronous function status, allowing you to build workflow abstractions and manage your own queuing.

Screen grab of Scheduled functions & crons in action
Get your app up and running in minutes
Get started
©2024 Convex, Inc.