Tuesday, February 2, 2016

SetCronJob is high availability now!

After 3 servers are added, there were several issues that caused SetCronJob unstable. We were working really hard to fix, improve and upgrade our servers and application.

The service is stabilized after a few days, and we're still monitoring and working on it. Until now, we can proudly announce that SetCronJob is high availability. We removed all single point of failure, including:
- Web server: we're using round robin DNS, so if one web server is down, your browser will retry the request at another server. There will be some delay time (e.g. 30 seconds, tested on my browser), but it's not a big problem. As long as you can access our website, and the cronjobs are executed properly, it's no big deal.
- Cronjob processor: all cronjobs are distributed to all servers to be processed. If one server is down, the other cronjob processor can still handle all the cronjobs properly. Actually just one server is powerful enough to handle all cronjobs. Network failure is automatically detected, so any server has any network problem, it'll be temporarily removed until everything is fine and it can process cronjob properly again.
- Database server: we have synchronous database replication, automatic failure detection and failover, load balancer. No more database down!

With this set up, SetCronJob is now the most reliable online cronjob service. We're processing 3.8 millions cronjobs a day, or 2,600 cronjobs per minute, or 44 cronjobs per second. And the service is already scaled up and out so that it can handle up to x3 times than those numbers :-)

Happy setting up cronjobs!

Sunday, January 17, 2016

SetCronJob stops offering new free accounts

Hi all,

The free account offer has been being there since SetCronJob started in 2009, and it's finally time for us to kiss it goodbye. Starting at Jan 18, 2016, we'll no longer offer free account for new users.

All existing free users can continue using their accounts until Jan 18, 2017. After that we'll remove the free plan completely.

If you want to try our service, just contact me.

Best regards,
Nguyen An Thuan.

Saturday, January 16, 2016

3 new servers are being deployed

Hi all,

We're very pleased to announce that 3 new servers are being deployed to achieve High Availability. With this deployment, we can minimize service downtime. When one or even two servers fail, the others can still handle all cronjobs processing, and we can easily stop, add or remove any server for maintenance or upgrade.

When will the deployment complete?

The deployment will be started at 2:00 AM, Monday, January 25, 2016, UTC. Estimated time: 2 hours. Duration that time, we'll copy the whole database into new servers' database. We'll also disable most of our website functions to keep the user data intact.

What are new server IP addresses?

We'll still use the same IP addresses from one year ago, except that we'll replace the IP address with We'll be sending emails from these 3 new servers, while the IP address get blacklisted at SpamRats. They blacklisted the whole Class C IP address (means 173.255.210.*), and that can't be helped.

We can't keep the IPv6 addresses, so we'll use 3 new IPv6 addresses too. So here are 3 new servers' IP addresses:
  • Server 1: - 2600:3c01::f03c:91ff:fef1:a819
  • Server 2: - 2600:3c01::f03c:91ff:fef1:33bf
  • Server 3: - 2600:3c01::f03c:91ff:fef1:31a2
All servers are in Fremont, California, USA.

Are there anything else changed?

Besides one new IPv4 address and 3 new IPv6 addresses, we also remove the server selection feature. It's already removed now for newly created cronjobs, and existing cronjobs with no server selected.

All cronjobs will be processed randomly from 3 new servers, and you can't change that. It's to make sure the 3 servers are load balanced, and when one server is down, your cronjobs can still be executed by other servers as well.

Will my cronjobs be affected?

For most of cases, no. Your cronjobs will be executed properly, with no downtime. Here are some cases that your cronjobs may be affected because of the IP addresses changed:
  • Your hosting provider's firewall may block our (new) IP addresses
    Please contact your hosting provider and ask them to whitelist our new IPv4 and IPv6 addresses.
  • Your CDN firewall may block our IP address
    Please update your CDN service (e.g. Cloudflare) settings to add our IP addresses to its whitelist. Contact the CDN support staff if you're not sure how to do it.
  • Your server firewall may block our IP addresses
    Do the same thing: add our IP address into your firewall whitelist.
  • Your script may block our new IP address
    If you only allow some IP addresses to trigger your script, please update your script so it'll accept our new IP addresses.
If your cronjobs may be affected like these cases, you should resolve it now. After Jan 25, the change will be applied and your cronjobs may not work.
If you think your affected case is not listed here, leave a comment below or contact me.

How can I know if my cronjobs are affected?

- If your server firewall blocks our requests, we won't able to connect to your server. In the cron execution results, you will see the connection error messages, e.g. "connection time-out" or "connection refused". If that's the case, please contact your hosting provider and ask them to whitelist our IP addresses.
If you didn't contact your hosting provider regarding their firewall, and they haven't ever block our IP addresses, then it's very likely that they won't block our new IP addresses. So, nothing to worry.
- If you needed to add our IP addresses to your script whitelist before, just add our new IP addresses to it now, and that's it.

Best regards,
Nguyen An Thuan.

Friday, January 1, 2016

To Indian abusers: just stop!

Hello there,

Recently SetCronJob is getting hundreds of registration from Indians every day, and all of them are abusers. Typically here are what they're doing
- Register some generous free hosting provider to upload their "bot script"
- Create multiple, fake SetCronJob account swith fake, disposable email addresses
- Abuse SetCronJob's free trial offer, mostly Gold account
- Creating cronjob every minute or every 30 seconds to run their "bot script"
- And keep going on like that.

The free hosting providers are also victims, because the "bot scripts" are highly server resource consuming, and eventually they disable the abusers' hosting accounts, but that won't stop the abusers.

These abusing activities are against our Terms of Service, therefore SetCronJob will just keep blocking, disabling and banning their accounts until the end.

In short, we don't allow bot scripts, abusers and fake accounts at SetCronJob. Your account will be terminated without notice.

Currently our free trial offers are temporarily paused for a while. At the moment, just contact me with your website URL and cronjob URL, I'll review them first before giving free trial. If I believe that the website and script is used for bot, your account will be terminated instead.

Thank you for understanding.

Sunday, December 27, 2015

Server Status on Dec 27, 2015

Hello all,

Today we experienced connectivity issues from 10:27 UTC to 12:47 UTC, and that caused our server unreachable from the outside. The backend cron processors were still partially functional.

The service is up and running again now. All the missing cronjob executions are rerun once (to make sure important cronjobs e.g. backup are better executed late than never).

As a compensation for the down time, we're sending 10% of your plan price to your account balance. For example, Silver account ($10 / year) will get $1 compensation, and Gold account ($20 / year) will get $2 compensation. It's worth about 36 days of service. You can check your account balance at Account > Overview.
That account balance will be automatically calculated and used when you upgrade/renew your account.

We're sorry for the inconvenience that caused, and we're working on improving our service so it won't happen again.

Thank you for understanding and using our service :-)

Best regards,
Nguyen An Thuan.