Cronflower: run a DAG workflow across your cluster, instead of chaining cron jobs
Every team ends up here. One cron job at 02:00 charges the orders. Another at 02:15 ships them, set fifteen minutes later because that's usually long enough for the first one to finish. There's no real dependency between them, no shared data, and no way to see, after the fact, whether step two ran because step one actually succeeded or just because the clock moved. That's the wall plain cron…
Cronflower is an open-source distributed scheduler for Spring Boot that lets you run a Directed Acyclic Graph (DAG) workflow across your cluster instead of chaining cron jobs. Traditional cron jobs lack real dependencies, shared data, and the ability to determine if subsequent steps ran because the previous ones succeeded. Cronflower addresses these limitations with its cronsmith and cronflow components.
Cronsmith is the distributed scheduler, while cronflow is the DAG orchestrator. By declaring the steps and their dependencies as a graph, you can run the graph on the same cluster, with data flowing between nodes. Each step is a Spring bean, with each method representing a step. Nodes pass data to each other through channels, with reducers merging concurrent writes into a single value.
With cronflower, you can create conditional routing using SpEL expressions, allowing nodes to choose their next step based on the data. This enables complex workflows without shared mutable state or ordering assumptions, resulting in a more efficient and reliable workflow management system.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.
This story
This is one outlet's version. Read the fullest account.