Are your back-end bulk jobs a hassle to maintain and run?
Are other projects suffering because of time wasted managing your back-end?
Get scared when you have to insert a new database record into production?
Does all that routine back-end administration destroy your motivation for the day?
Are those ugly and buggy back-end tools making you feel unprofessional?
Visually configure all your back-end job schedules.
Database persisted schedules keep different environments isolated.
View which jobs failed and what caused the errors.
Scaffold an entire GUI for managing your database entities and ensure garbage data stays out.
Run bulk actions/jobs on only the entities of your choosing.
Easily configure tabular reports to gain detailed insights into your application's data.
Customizable metric cards that help you get a quick view of your system's health.
Grab data from your database, an external API, or anywhere else you might need.
YES! You can install Coravel Pro via Nuget and test things out for a reasonable amount of time. Once you decide that Coravel Pro is a tool you want to use in production, then please purchase a license.
YES! You can choose to schedule some jobs in your code (but these will be scheduled in all your environments) and also from Coravel Pro's UI. You can use all the features of the open-source Coravel when using Coravel Pro.
For a comparison of the open-source Coravel library and these other popular tools please read these comparisons.
Coravel Pro is more than just job scheduling.
It has additional features like being able to hook into your EF Core database and help you build custom reports and a CRUD UI.
You can do things like:
Select a few users from a report and execute a bulk action to set those users as administrators.
Run a bulk action to disable those users for your system.
Send the selected users each an email.
Generate a PDF report for the selected entities in your custom report.
Customers using Coravel Pro will take this approach to ensure all their jobs run on one machine at a time.
You can use libraries like DistributedLock to wrap your Invocables/Jobs in a distributed lock - and even create a base class to encapsulate this logic. Any jobs launched from the UI will run on whichever machine it was triggered on.
Also, since all your schedules are stored in a database, any stored schedules can be used by all other active machines running Coravel Pro.