How We Use CronDev at CronDev
What is CronDev?
Cron is a Unix utility that allows users to schedule jobs (commands or shell scripts) to run automatically at a certain time or date. It reads a configuration file called a crontab, which contains a list of commands and the times at which they are to be executed.
Cronjobs are often used to automate routine tasks such as system maintenance, backups, and sending emails.
A serverless platform like CronDev allows you to run and manage your cronjobs without having to set up and maintain your own servers. This can be more convenient and cost-effective than running your own servers, as you only pay for the resources you use and don't have to worry about maintenance and updates.
CronDev also offer features such as monitoring and alerts to help you manage your cronjobs and ensure they are running smoothly.
How We Use CronDev
Every time a user schedules a function to run, we need to monitor the state of the function. We have an external system setup to trigger a function run, but the scheduler can fail. Therefore, we have a script that runs every minute to check the state of scheduled functions. If a function fails to trigger within a certain period then we will issue an alert to an admin and the user.
In addition to checking the state of a scheduled function, it is important to track the state of a running function. Functions are self-managed which means that they have to report their own status. If a function fails to check in after a certain threshold. CronDev Admin and users will be notified as that could be a potential bug.
We use CronDev to automate our database backups. Railway.app is our database provider, and they currently don't offer automated backups. We have a simple function setup that runs once a day to back up our data to S3.
We typically retain old database backups for about two weeks before we get rid of them. The same function we have set up to back up the data is also responsible for clearing out the old data. We are building new features day after day so old database backups become irrelevant quickly.
How You Can Use CronDev
CronDev is useful for automating a wide range of tasks and processes. It is useful for tasks that need to be run regularly, as it allows you to schedule them to run automatically without having to manually trigger them each time. Some examples include:
- Running routine tasks such as system maintenance or backups regularly
- Sending emails or other notifications at a specific time or on a recurring schedule
- Updating data or pulling information from external sources regularly
- Running scripts or processes that need to be executed at a specific time or on a recurring schedule
- Monitoring and alerting on the status and performance of your cronjobs