Sunday, November 24, 2013

Check cron output against a pattern

You can check your cronjob's output against a string or pattern now. If it matches the provided string/pattern, we'll send you a notification.
Notify you if your cronjob output contains fail, error, fatal or warning text.
To add a string or pattern to check, just Edit your cronjob, click More options and enter desired string. We supports:

Normal text
Enter anything you want e.g. for Fatal error, we'll notify you if your script prints out some text containing Fatal error. Please note that this is case-insensitive check, e.g. "fatal error", "Fatal Error" or "fAtAl ErRoR" are considered as match.

Regular expression
Its format is the same of PHP's preg_match pattern syntax (PCRE syntax). It must starts with / and ends with / (plus modifiers if any).
For example, with /fail|error|warning/i, we'll notify you if your script output contains fail, error or warning (the i modifier will make it case-insensitive check).

Negative check
Add a exclamation mark ! before the text or regular expression, we'll notify you if the script output does not match the text/pattern.
For example, !success will require SetCronJob notify you if the script output doesn't contain success.

If you have any question or suggestion, feel free to let us know by leaving a comment below, or email us.

Thursday, November 14, 2013

Cronjobs every 30 seconds

Besides Minute, Hour, Day, Month, Weekday, we've just added a new time field: Second, with selectable values 0 and 30. With this new field, you can set up your cronjob to run every 30 seconds (twice a minute).

To make your cronjob execute twice a minute, just Edit your cronjob, then select When to call: Every 30 seconds.
Set cronjob to run every 30 seconds
You can also hit Details button and select desired Second values for your new and existing cronjob e.g. make your cronjob execute at midnight,second 30 if necessary.
Run cronjob at midnight, second 30 (00:00:30)
Cronjob every 30 seconds will run 2,880 times a day, so a Silver account can add 1 cronjob every 30 seconds, and a Gold account (with 7200 daily executions) can add 2 cronjobs every 30 seconds. We also offer bigger Gold plan with more daily cron executions, check it out at Billing > My Plans tab.

If you have any question or feature suggestion, feel free to comment below or contact us.

Wednesday, September 18, 2013

Signup and login using social network accounts

As an Internet user, you should have at least one social network account e.g. Facebook, Google, Yahoo, Twitter or LinkedIn account. From now on, you can use that social media account to register or login to SetCronJob.

One click sign up
To sign up for a SetCronJob account, hit your desired social network icon e.g. Facebook icon at the sign up form:
Sign up using your social media account
We only need your full name and email which is provided by most social network websites e.g. Facebook, Yahoo, Google. Some social media site like Twitter won't provide us your email according to their privacy policy, so you'll need to enter your email and confirm it.

Allow SetCronJob to access some data (we'll use only full name and email).



If you already have a SetCronJob account, we'll also look up the email provided and log you in to your account. For example, you already registered an account with email john@doe.com, then log in using your Facebook which has that same email address, we'll let you in and connect them.

When all details are provided (full name and email address), we'll create an account for you and log you in automatically. We also email the alternative login details (email and lengthy randomly-generated password) to your mail box.

One-click login
To log in, hit the social network icon on the login form:
Login using your social network account

Manage linked social accounts
 All linked social network accounts can be found at Account > Social accounts tab
Manage connected social network accounts
Here you can add more social network accounts to your current SetCronJob account. For example, I can freely log in to my SetCronJob account using my Google or LinkedIn account.

You can also disable some linked social account e.g. I don't want anyone to access my SetCronJob using a logged in Windows Live or Facebook account.

To remove a social network account, just unlink it.

We won't abuse your social network accounts!
The only details we need are just full name and email. We won't post to your social account e.g. Facebook timeline, tweet, status. We may access your friend list under your permission e.g. when you'd like to recommend SetCronJob to your friend; but this feature is not available now.

Your social network passwords are obviously protected by your social network websites, we don't have access to it.

If you have any question, just let us know.

Saturday, September 7, 2013

SetCronJob's public REST API launched

After receiving many feature requests for a public API to create, retrieve, update and delete cronjobs programmatically, we were working hard and finally a REST API has been released. This is our first version of API, and we're open to any feature request, suggestion and feedback. Error reporting is more than welcome!

You can read the API documentation here.

With a REST API, you can do many things with your cronjobs without logging in to SetCronJob website. Currently we do support these commands:
  • cron.*
    • cron.list: List all cronjobs under your account
    • cron.get: Get one cronjob's information
    • cron.add: Add a new cronjob
    • cron.edit: Update an existing cronjob
    • cron.enable: Enable a cronjob
    • cron.disable: disabled a cronjob
    • cron.delete: delete a cronjob
    • cron.logs: get your cronjob execution logs.
  • group.*
    • group.list: List all groups under your account.
    • group.get: Get one group's information
    • group.add: Add a new group
    • group.edit: Update an existing group
    • group.delete Delete a group
  • account.*
    • account.edit: Update your account settings, currently we only support changing account's timezone.
  • server.*
    • server.time: Get current SetCronJob server time.
    • server.timezones: List all supported time zones.
You can go ahead and grab your API Key at Account > API key. Each account type has its own daily API request quota, and it's currently the same with your account's points:
  • Free account: maximum 50 requests per day
  • Silver account: maximum 3600 requests per day
  • Gold account: from 7200 requests per day, and it'll be more if your account has more points.
Info: The requests counter will reset after exactly 24 hours from the first API request in a day. For example if you send an API request first time today at 8:00AM, requests counter will be reset at 8:00AM tomorrow.

Tips: If you're testing it and used up all daily quota, just regenerate a new API key, the requests counter will be reset too.

Thursday, August 15, 2013

SetCronJob supports POST requests

UPDATED on Oct 17, 2013: If your POST data is in JSON format, SetCronJob automatically appends a header Content-Type: application/json to the POST request.

SetCronJob is a web based cronjob service, and it works with URL only. By default SetCronJob will make your script execute by sending a GET request to its URL.

After receiving many feature requests to POST support, we had considered and finally added POST requests to our cronjob service.

To send a POST request to your cron URL, just hit More options, then enter POST data with format
name1=value1&name2=value2&...


For example, to log in to SetCronJob, enter cron URL
https://www.setcronjob.com/account/login
and POST data
email=demo@setcronjob.com&password=demo

If the POST data is empty (by default), SetCronJob will obviously send GET request as usual.

You can read more about POST and GET at HTTP Methods: GET vs. POST.

Sunday, August 4, 2013

Bulk cronjob operations are back!

UPDATED on Sep 14, 2013: Batch cronjob editing is now supported. See Bulk cronjob operations section below.

SetCronJob once supported batch cronjob operations last year, but when we upgraded it this feature was temporarily removed. Since there are many requests for this, we just added the feature again, with more improvements.

Cronjobs selection
You can select cronjobs one by one, or check the master check box to select/deselect all cronjobs at once.
Select all cronjobs
We also support selecting/deselecting all cronjobs under one group, this definitely helps a lot when you want to process or exclude some cronjobs in a group. Just hit check box at group name and it'll check/uncheck all cronjobs under that group.
Select all cronjobs under a group
Bulk cronjob operations
After selecting desired cronjobs, you can enable, disable, delete or run cronjobs manually. More operations may be added in the future.
Enable, disable, delete or run selected cronjobs
Bulk cronjobs editing:
Batch cronjob editing
You can also edit bulk cronjobs. SetCronJob supports changing time settings, timezone, notification and group. If you want to leave any setting unchanged, just select "Don't change". All changes will be applied to all selected cronjobs.

No JavaScript required
This feature works great even when JavaScript is disabled. It's recommended that you visit our website with a JavaScript-enabled browser, so the whole selection and group selection can work (those checkboxes will be added when JavaScript is enabled only).

It's also responsive, so it works in your mobile web browser too.

Sunday, April 14, 2013

SetCronJob DNS cache

A DNS cache contains entries that translate Internet domain names to IP addresses, for example matching setcronjob.com with 50.116.9.254.

Besides the system DNS cache, SetCronJob has its own DNS cache. Once a domain name is resolved to an IP address, it’ll be kept in SetCronJob’s DNS cache for one day.

At the moment, our service has around 100,000 cronjobs and active cronjobs are executing 1,300,000 times a day.  Thanks to our DNS cache, the cron processors just need to resolve 8,500 domain names a day instead of 1.3 million times a day.

In case your domain name changes its IP address, the DNS cache may not be updated as soon as expected; it’ll cause a glitch in the cron execution.  There are two cases:
  • If the cron fails i.e. the old IP address doesn’t respond appropriately with the current request, SetCronJob will refresh the cache entry, trying to get the new IP address.
  • If the cron is still fine, the IP address will be updated the next day. To force SetCronJob to refresh any DNS cache for any domain name, just Edit and then Save one cronjob with that domain name. 
If there’s something unclear, feel free to comment below, or email me.

Best regards,
Nguyen An Thuan.