Schedules HTTP(S) requests using crontab format and reports on the status.
- Group jobs into meaningful groups like application or client
- Allow running jobs on multiple domains i.e. development/production
- Record response for all instances: status, code, body
- String match to identify success/failure
- Allow "waterfall" or running a list of jobs in sequence
git clone [email protected]:dustinb/hrs.git
cd hrs
npm install
node hrs start
- Browse to http://localhost:3000
Use node hrs stop
to stop HRS. To reload new/updated configuration node hrs reload
.
To start HRS with alternate config node hrs start simple
A job requires title
, cron
, and a url
.
Optional | Description |
---|---|
string |
Look for this string in response. If not found treat as failure |
runOnStart |
HRS will run this job on startup (and reload) |
done |
Set to true if you want to disable this job |
title: Five Tech Team
cron: "*/5 * * * * "
url: "http://www.fivetechteam.com"
string: "Call us @"
runOnStart: false
done: false
If wanting to run the same job on multiple domains include protocol
and domains
.
title: Multiple Domains
cron: "*/5 * * * * "
url: /res/job/cleanhouse.php
protocol: http
domains:
- dev.example.com
- staging.example.com
- production.example.com
Run jobs in sequence by putting the cron in the group instead of the job. The cron specifies a start time for the first job, second one runs after first completes and so on.
title: Waterfall Group
cron: "10 2 * * * "
jobs:
- title: Job 1
url: http://hrs.fivetechdev.com/timestamp.php
- title: Job 2
url: http://hrs.fivetechdev.com/timestamp.php?uniqueurl=1
Add your Slack webhook url to the configuration to allow HRS to send error notifications
slackhook: "https://hooks.slack.com/services/xxxxxxxxx/xxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxx"
slackChannel: "#HRS"
groups:
- title: Group 1
jobs:
- title: Job 1
cron: "30 2 * * * "
url: http://www.example.com/
runOnStart: true
https://github.com/harrisiirak/cron-parser
https://crontab.guru/
https://momentjs.com/docs/
https://github.com/request/request
https://www.npmjs.com/package/slack-node
https://socket.io/
https://vuejs.org/
https://v4-alpha.getbootstrap.com/
https://github.com/substack/minimist \
https://github.com/fzaninotto/uptime
http://www.camintejs.com/en
https://github.com/iloire/watchmen