A near-zero config .NET library for task scheduling, queuing, caching, event broadcasting, and mailing with simple, expressive syntax.
Coravel is a near-zero configuration .NET library that simplifies adding advanced features like task scheduling, queuing, caching, event broadcasting, and mailing to applications. It solves the problem of complex setup and configuration by providing a straightforward, fluent API that integrates seamlessly with modern .NET primitives.
.NET developers building web applications, worker services, or any .NET project needing background processing, scheduling, or email functionality without heavy infrastructure.
Developers choose Coravel for its simplicity, modern async/await support, and seamless integration with .NET's dependency injection, offering an efficient alternative to older libraries like Hangfire or Quartz with less configuration overhead.
Near-zero config .NET library that makes advanced application features like Task Scheduling, Caching, Queuing, Event Broadcasting, and more a breeze!
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Built with async/await and dependency injection in mind, Coravel efficiently uses threads without hogging resources, as emphasized in the philosophy and FAQ comparing it to older libraries.
Offers a straightforward syntax for scheduling and queuing with minimal code, demonstrated in the quick-start example where tasks are scheduled using a clean, expressive method chain.
Provides an in-memory queue that offloads long-running tasks to improve HTTP responsiveness without setup, as highlighted in the features section.
Includes built-in Razor templates, SMTP drivers, and easy appsettings.json configuration, making email handling simpler, as detailed in the mailing feature description.
Queued jobs are processed in-memory and lost on application shutdown, a limitation explicitly admitted in the FAQ under 'Does Coravel support persisting queued jobs'.
Lacks native retry mechanisms or distributed locking, requiring integration with third-party libraries like Polly or DistributedLock, which the FAQ acknowledges and suggests as workarounds.
In-memory caching and queuing limit its suitability for distributed or high-load scenarios, as it doesn't natively support clustering or external storage drivers out of the box.
Coravel is an open-source alternative to the following products:
Quartz is a job scheduling library for .NET applications that allows developers to create and manage scheduled tasks and background jobs.
HangFire is an open-source background job processing library for .NET applications that helps perform fire-and-forget, delayed, and recurring tasks.