← Back to EasyCron.com

Mar 23, 2018

Output regexp matching

In some cases, you may want to determine the success (or failure) of cron job execution by the content of the output responded from your cron job script (not only by the HTTP code).

With the new feature we introduced today, you can now use regexp to match the output (HTTP message body), and then judge if the cron job execution is successful.

Output regexp matching

As you can see in the screenshot, there are 3 options you could choose from as the condition for your execution to be considered as succeeded or failed:

  • When the HTTP Status is 2xx, consider succeeded. (This is the default option)
  • When the HTTP Status is 2xx, consider succeeded if the HTTP message body matches a specified regular expression.
  • When the HTTP Status is 2xx, consider failed if the HTTP message body matches a specified regular expression.

After above 3 new options were added, the complete rules for judging success or failure are:

  1. Consider failed when the HTTP Status is NOT 2xx (e.g. 200, 201, etc.).
  2. When the HTTP Status is 2xx, check above 3 options.

For the sake of simplicity and matching performance, we use Google re2 as the regexp engine.

Hope that the new feature rocks for you.

Jan 21, 2018

Execution logs enhanced

We recently made some changes to the way we trim and save execution logs.

In the past, in additional to cron job ID, scheduled time to execute, trigger time, done time, cost time and HTTP status, up to 10 KB of output (includes HTTP headers and HTTP message body) responded from your cron job script will be saved for each execution.

Now, the log output part saved in new way will contain:

  • up to 10 KB of HTTP headers, plus
  • up to 20 KB (5 KB for individual plans) of head of the HTTP message body, plus
  • a line of text (example: 1200 Characters Stripped) inserted by EasyCron indicating how many characters were stripped (if the whole HTTP message body is longer than the log length limit of your plan), plus
  • up to 20 KB (5 KB for individual plans) of tail of the HTTP message body.

We hope that the new logs will provide more information you need and help you better understand the overall response from your cron job scripts.

Jan 5, 2018

Cron job execution tracking

Want to know if your cron job has been triggered or not before it's done and its log is saved? Now you're able to do it with our new feature "cron job execution tracking".

With cron job execution tracking, when your cron job has been triggered and is running, your will see an "executing" line immediately in the logs of this cron job telling you that it's executing, like screenshot below:

Cron job execution tracking

This is extremely useful for your awareness of that the cron job has been successfully fired. So that you don't need to worry about you miss the cron job trigger time.

Jun 13, 2017

Datacenter hardware maintenance

Our dedicated servers provider OVH (ovh.com) has sent us an alert about a hardware (electrical reboot) replacement that will happen on June 14, at 6:00AM EDT and last about 1 to 1.5 hour:

This hardware replacement will affect one of our core servers which is relied by our other servers to perform EasyCron's service.

As a result, during the intervention, our service will be interrupted. And the service will recover automatically once the maintenance is finished and the server is booted again.

From information we got, the replacement of electric part could do no impact to the server:
or cause a variable length of downtime (from dozen of minutes to 1 hour):

There is nothing we can do now to 100% avoid this service interrupt. But we're working on a solution to have our HA (high availability) strategy cover this server, so that in the future if similar maintenance happen again, our service will not be affected.

As a remedy, EasyCron will fire those cron jobs that have missed executions during the maintenance for *one* time after the service back to normal. That means, your affected cron jobs will get triggered for one time after our server is up again.

We're really sorry for the inconvenience that will be caused by this server maintenance.


Our server's downtime started from
June 14th, 6:39 AM EDT, and ended on
June 14th, 7:14 AM EDT, totally lasted
35 minutes.
Our service fully backed to normal at
June 14th, 7:20 AM EDT.

May 23, 2017

Custom cron job timeout

Today we added a new feature to EasyCron - customizing cron job timeout.

In our previous cron job executing program, we always used your plan's default timeout as timeout limit. But in a few situations, you may want to change the timeout setting.

For example, if you don't want your cron job to run overlappingly, instead of setting max execution time in your script, you could also set the timeout limit at EasyCron. Once the configured timeout is reached, EasyCron will disconnect the connection between itself and your server, and your cron job script could detect the client side abortion and terminate the execution, so next execution could come without conflicting with previous execution(s).

Another possible use case for custom timeout is, if you know the legitimate maximum execution time of your cron job script/program, you may want to restrict the execution to a specific duration, so that any unexpected long time execution will be cancelled then.

Other uses include but not limit to, if you're going to use EasyCron as a monitoring service, you could set a deadline to the max response time cost; preventing proxy timeout, etc..

Custom cron job timeout

We hope that you could find this new feature useful.

May 21, 2017

Email notification optimization

As too many emails sending out from EasyCron has resulted in some problems, we has reduced the amount of email notices by changing the email notice triggering mechanism.

The main problems caused by frequently emailing are:

1) Many email service providers deem us as SPAM sender, block our emails (or/and IPs) constantly. This has brought big trouble to EasyCron and our users. For example, many expired users could not receive expiry email notices and didn't renew their accounts on time; some crucial cron jobs failed but didn't receive attention, and so on.

2) Some users' email box were filled up by emails sent by us.

3) The credit and authority of our domain and IPs descends as black listing done by other parties.

4) Our email server keeps being hit by huge amount of bounced emails from recipients.

Now EasyCron sends out email notices only when:

1) starts failing, or

2) returns to success from failure.

That is to say, if your cron job fails consecutively for more than one time, only one failure email notice will be sent to you.

You could also specify a "sensitivity" setting to configure only after how many consecutive failures that the failure notice will get sent.

Email notification and failure threshold

If in some cases, you really need to be notified for each failure or execution of your cron job, you could utilize the "webhook" feature.

May 13, 2017

Placeholders you could use in cron job URL

EasyCron added placeholder support in cron job URL today.

You could use placeholders:
in your cron job URL.

__RANDOM__ will be replaced with a random 12-digit integer when your cron job is fired.
And __TIMESTAMP__ will be replaced with unix timestamp.

For example, URL
could finally be http://www.example.com?123456789000 when it's fired.

Random integer or timestamp in URL will prevent EasyCron's requests from hitting cache in your proxy or server.