Hi Edward,
You could look into nilenso/goose, a reliable and scalable background job processing library for Clojure; which handles Job failures and supports scheduled, cron and batch Jobs as well.
Goose supports Redis and RabbitMQ message brokers out of the box. If users need a different broker like AWS SQS or Postgres, Goose has provisions to plug-in a custom broker as well.
Please note that Goose Jobs cannot be created via an API endpoint, but using a function invocation akin to ActiveJobs in RoR.
I like your idea though. API invocation is a doable feature, with some limitations on data-types of arguments.
I have created an issue #144 in Goose to enable Job creation from HTTP endpoints. Thanks for the idea, Edward!