mosquito
mosquito copied to clipboard
A background task runner for crystal applications supporting periodic (CRON) and manually queued jobs
This is a proof-of-concept for how the redis connection dependency could be injected rather than constructed. Benefits: - Shared connection pool with the host application, which could translate to better...
Currently inspecting the backend data requires querying the backend directly. It would be nice to be able to ask mosquito's backend for data about: - [x] The current list of...
For example: ```crystal class BetterSendItSoonJob < Mosquito::Job before do # only perform the job if this job was enqueued within the last 2 minutes fail "job is too stale to...
This would also be a good opportunity to clean up the Runner class, as it's currently wired up like a pile of spaghetti. Off the top of my head, here's...
See: https://redis.io/commands/rpoplpush/ Migrating to LMOVE as indicated will create a dependency on a specific version of redis >= 6.2.
This happens when a long-running job is interrupted (ctrl-c style), or a job crashes so badly that mosquito itself crashes (a crystal runtime bug).   related to #21
The most often requested feature for Mosquito is to use postgres instead of redis as a backend for metadata and queue functions, and I'm surprised there isn't an issue about...
Task has always been clumsy naming, evidence to the fact is the need for [a terminology page](https://github.com/mosquito-cr/mosquito/wiki) in the wiki.
In several places the logic which determines the state of a job is getting complicated because the sate is held in several places. It would probably improve readability to combine...
It would be nice if there were some sort of test mode where I can either just assert that a job was added to the queue or run the jobs...