A generic background job runner for Crystal applications supporting delayed, periodic, and manually queued jobs with Redis storage.
Mosquito is a background job runner for Crystal applications that handles delayed, periodic, and manually queued tasks. It solves the problem of asynchronous task processing by providing a reliable system with features like automatic retries, rate limiting, and Redis-based storage. Once compiled, it starts in about 10 milliseconds, making it efficient for production use.
Crystal developers building applications that require background job processing, such as web servers needing email sending, data aggregation, or scheduled tasks. It's ideal for teams familiar with Ruby background job gems looking for a Crystal alternative.
Developers choose Mosquito for its simplicity, stability, and Crystal-native design, offering a fast and reliable background job system with automatic failure handling and rate limiting. It provides a familiar API inspired by Ruby gems while being optimized for Crystal's performance.
A background task runner for crystal applications supporting periodic (CRON) and manually queued jobs
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The compiled binary starts in about 10 milliseconds, as stated in the README, ensuring quick deployment and low latency for job processing.
Jobs are automatically rescheduled with progressive delays and moved to a dead letter queue after too many failures, providing robust error handling without manual intervention.
Mosquito includes rate limiting features to control job execution rates, preventing system overload, with details available in the manual for advanced configuration.
Inspired by Ruby background job gems, the API is straightforward, making it easy for developers with Ruby experience to adopt, as shown in the job definition examples.
The README admits visibility into running jobs is limited, with only a proof-of-concept visualization API and basic terminal app, which can hinder debugging in production environments.
Mosquito relies solely on Redis for job storage, adding infrastructure complexity and making it unsuitable for teams avoiding Redis or using alternative data stores.
As a Crystal-specific library, it has a smaller user base and fewer third-party integrations compared to established job runners in languages like Ruby or Python.