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.

Thursday, October 31, 2013

SetCronJob Billing System

SetCronJob recently added a billing system which allows you to manage your billing addresses, payments and automatic payment profiles.

Manage billing addresses
To see all billing addresses, just visit Billing > Billing address. You can add new, edit, delete and make a billing address as primary address.

Primary billing address will be populated into the payment forms e.g. 2Checkout's billing information form, so you won't need to enter it again (and also take advantage of 2Checkout Direct Checkout - popup with simplified checkout form).
2Checkout Direct Checkout
Payment receipt and invoice
To see all payments made to SetCronJob, visit Billing > Payments tab. You can view a particular payment receipt by hitting the View button. On the receipt page, you'll be able to edit its attached billing address, or change to another billing address if necessary.

Download invoice in PDF format
At the payment receipt (hitting the View button), you can download the invoice for the service corresponding to that payment by hitting the Download PDF button. Please make sure that you have a billing address attached to that payment, and the billing information is correct.

Request a refund
At the payments page, you can also request a full or partial refund of your latest payment. Each payment gateway has its own limit of refundable duration e.g. PayPal allows us to issue a refund for payment made within 60 days, while 2Checkout can issue a refund after 180 days.

Within 3 days since payment date, you can request a full refund (100% amount) of your payment. After that we'll calculate remaining credit your current plan and account balance and show you the refundable amount (from $0.01 up to 100% amount).

Request a refund of a recurring payment will also cancel its corresponding automatic payment profile.

We'll process your refund request automatically using payment gateway's API. It takes a minute or two for your payment to be refunded.

Manage your automatic payment profiles
At the payments page, we also show the list of Automatic payment profiles (PayPal subscription, 2Checkout recurring payment). You can Cancel any profile if necessary, so it won't automatically charge you next year; but you'll need to create new one or renew your account manually.

If you want to change your premium plan (Silver, Gold account), you'll need to cancel the automatic payment profile corresponding to it if any.

If you already have an automatic payment profile e.g. a PayPal subscription, and you can't find it at your Billing > Payments page, please contact us, or search and manage it directly within your PayPal account.

Have any question or suggestion? Please comment below or contact me!

Saturday, October 5, 2013

Export/Import cron jobs

Hi all,

UPDATED on Oct 7, 2013: We also stored a copy of export files remotely on tny.cz where you can download it later from your Export History.

We've just added a new feature: You can now export your cronjobs at SetCronJob, then import at any time you want!

Export all cronjobs
To export all cronjobs and groups under your account, visit Cron Jobs > Export, then hit Export all cronjobs button.
Export all cronjobs
At the next page, click Donwnload it button, it'll prompt a file to save on your computer.
Download exported cronjobs
For your convenience, we also display a nice format of exported cronjobs (Unix-style time settings, timezone and URL).

Export some cronjobs
To export only some cronjobs in your account, select desired cronjobs, then hit With selected: Export cronjobs. It'll show you the page where you can download your exported file.
Export selected cronjobs
Import file
Currently we only support importing file which was exported by SetCronJob.
To import old cronjobs, visit Cron Jobs > Import, then upload the file you saved before.
Import cronjobs
You can switch between two Overwrite mode:
- Add new cronjobs and groups (recommended)
This will add completely new cronjobs and group, and will keep your existing cronjobs intact.
After importing, you'd better review and remove/disable redundant cronjobs/groups.

- Update existing cronjobs and group
If the cronjob/group with same ID exist, SetCronJob will update it. This may make your current cronjobs and groups setting lost.

Archived Export
All export files are also stored remotely on tny.cz. You can visit CronJobs > Export > Export History and download desired export file.

If there's anything you'd like to improve, feel free to contact us or leave a comment below.

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.

Wednesday, August 21, 2013

2Checkout payment gateway is supported

Besides PayPal, now SetCronJob also supports 2Checkout as a payment gateway. They can process all credit and debit cards around the world, including countries which is not supported by PayPal.

When you're at subscription page, just hit the 2Checkout button, it'll redirect you to 2Checkout to process your payment.
SetCronJob supports both PayPal and 2Checkout
Please note that 2Checkout has their own team to review any payment, so please enter you correct personal and payment info.

When the payment is done, it'll take some time around 5 - 60 minutes to be reviewed. Once it passes the 2Checkout review, your payment will be processed and your SetCronJob account will be automatically upgraded.

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.

Friday, July 12, 2013

Easier time zone selection

Since May 2012, SetCronJob has supported custom timezone for each cronjob. Once set, your cronjob will be executed under that timezone. As we were using the tz database, the list of time zones is very long and hard to select e.g. there are 147 timezone names for America areas.

Therefore we decided to also support the short timezone list from GMT-12 to GMT+12 on top of tz names.
short timezone
This will let you select custom timezone faster and easier.

Please note that those timezones are fixed offset to GMT/UTC timezone, so it doesn't support DST.

Updated: Now you can search through the timezone list!
Time zone searching
Updated on Sep 10, 2013: Now we display timezone with their current time offset (with or without DST effect), e.g. America/New_York will be displayed as (UTC-04:00) America/New_York. We also sort the timezone list by their offsets.
Timezone offset

Sunday, May 26, 2013

SetCronJob automatically corrects cron URL

Hello there,

I often receive message from users reporting their cronjobs are failing and they don't know why. I checked their cronjobs execution logs (hit the View logs icon) and found that their URLs just redirects to another "version" of themselves:
- Redirection from www to non-www version or vice versa e.g. from
http://example.com/cron.php
to
http://www.example.com/cron.php
- Redirection from http:// to https:// version or vice versa e.g. from
http://example.com/cron.php
to
https://example.com/cron.php
- Redirection to URL with trailing slash (after directory name) e.g. from
http://example.com/cron
to
http://example.com/cron/
(in this case, the index file e.g. index.php is the actual cron script).
- Some combination of redirections above.

For your convenience, SetCronJob will now automatically correct your cronjob URL (after first execution) so it's no longer a problem now.

Hope this helps.

Best regards,
Nguyen An Thuan.

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 system’s DNS cache, SetCronJob has its own DNS cache that each entry’s TTL (time-to-live) is 1 day. Once a domain name is resolved to an IP address, it’ll be kept at 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, and that’s saving much server resources.

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 next day. To force SetCronJob refresh any DNS cache for any domain name, just Edit 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.