In many technical fields, jargon can be a hurdle. When entering the world of content management systems, even the word Drupal can seem new and strange. Here we will discuss cron: an important term in the web development world that can seem enigmatic.
Cron is a type of process that can be used to make tasks and jobs occur at defined times. We can think of cron as a maintenance scheduling tool that can be used to do many things such as:
• Send email notifications
• Execute automatic backups and saves
• Pull, import, and manipulate data
• Handle massive mathematical calculations
• Flush databases and logs
• Sync date and time information
• Check for module updates
• Ping other servers or websites
Cron is useful because single commands or elaborate groups of commands, called scripts, can be run at pre-specified times. Cron can be scheduled to run at certain times such as once a day, once a week, or every 3 hours. This scheduling ability is highly useful because complex Drupal website tasks can function on autopilot without the human developer constantly babysitting and running processes manually. This is especially valuable when tackling large processing events or triggering highly involved scripts that need to run very frequently on Drupal websites. Simply put, cron can automatically handle frequent tasks that would be otherwise tedious and repetitive.
Once cron has been setup and then started by the web developer, cron will not run endlessly. Instead, cron will finish its original tasks (known as "cron jobs") and then become inactive until its next run time. Now on a broader level, this type of utility that has been 1) started once by the developer and 2) remains dormant until needed is called a daemon. Daemons are broader in scope and can apply beyond system tools like cron though. For example, servers themselves are also daemons. Servers that are initially setup with websites present information when they receive an inquiry via the web but otherwise remain dormant.
Another good thing to know is that cron is a widely used tool. At Covenant Web Design, we use Linux based servers (a very common computer operating system for servers) to host our Drupal websites. However, Unix and Mac are two other server operating systems that also use Cron to schedule tasks.
And as a recap definition: Drupal uses cron to handle sets of defined jobs triggered at defined times.