titanoboa
titanoboa copied to clipboard
Titanoboa makes complex workflows easy. It is a low-code workflow orchestration platform for JVM - distributed, highly scalable and fault tolerant.
This will make it very easy for tboa workflow jobs to be scheduled on cron-like basis.
Currently step types' names are derived from their folder's or file's name and should not contain strings. To make UX nicer it is desirable to have step type with more...
Currently retries are performed if a step throws an exception and there is no [next step with "ERROR" condition](https://github.com/mikub/titanoboa/blob/cluster/src/clj/titanoboa/processor.clj#L577): https://github.com/mikub/titanoboa/blob/cluster/src/clj/titanoboa/processor.clj#L577 Though this design is good and has its use cases...
Terminating a worker on which a job is running should be a transparent operation: The worker should stop, nacking the current step processing and it should be then picked by...
It seems `SIGTERM` should be used there instead of `SIGINT`
Currently `:create-folder?` workflow definition property is set to true unless [explicitly set to false](https://github.com/mikub/titanoboa/blob/cluster/src/clj/titanoboa/processor.clj#L52). Change the default value to false to avoid unnecessary creation of job folders - since people...
`with-mq-sessionpool` fn [here](https://github.com/mikub/titanoboa/blob/cluster/src/clj/titanoboa/channel.clj#L32) should wrap its body in `try` and use `finally` block to return the session to the "pool" core.async channel.
Wiki talks about PATCH call to /systems/:system/jobs/:jobid in https://github.com/mikub/titanoboa/wiki/Designing-Workflows#suspendable but API docs do not mention them (https://github.com/mikub/titanoboa/wiki/API-Documentation)
As mentioned in #18 this might be worthwhile- e.g. using https://github.com/metosin/compojure-api or something similar.