Drupal 7 cron out of the box is kind of inefficient, because it depends on users visiting your website to trigger the action to verify if it’s time to be ran and execute all the background tasks scheduled in Drupal. With no visitors, the default Drupal cron won’t run.
On another note, Drupal cron doesn’t allow you to configure the task schedule in a granular way, hence all tasks are executed at the same time, leading to performance issues if you have too many expensive tasks in the list. Also, say that you need to execute only one task every 15 minutes, you have to configure that value globally and apply it to all tasks to achieve that goal.
Elysia cron module is a solution to those problems, these are some of its benefits:
- It allows you to customize the schedule of every task, similar to a cron tab, where some tasks are executed every given minutes, others once a day, others once a week, etc.
- When it runs, it completely ignores tasks that don’t have to be ran at that time, making it more efficient from the performance standpoint.
- It has an option to force run any task in the list, in case you can’t wait for the next automated execution of that task.
- Also, it allows you to group tasks in categories called channels, and define default settings for all the tasks under those channels.