tjinjin's blog

インフラ要素多めの個人メモ

定期的にAPIを叩けるEasyCronを試した

About

定期的なバッチ処理を実施したいと思っていろいろサービスを探してみました。 このサイト で一番評価の高かったEasyCronを試してみました。この記事が信頼できるかは謎です!!!

概要

cronチックにAPIを定期的に叩けるサービスです。

使ってみる

登録方法

  • 登録はこのページにメールアドレス、パスワードを入れるだけ https://www.easycron.com/user/register
  • Free以外のプランだとクレジットカードの登録が必要なので、最初のお試しであればFreeプランで試すとよさそう。クレカ登録していいので、あれば利用したいプランのTrialを試すとよい!

プラン

  • Free/Starter/Plus/Maxの4つのプラン。支払いは年単位
  • 金額は年額で$0/$7.95/$19.85/$49.95。年額で考えれば案外安い?

機能

プランごとに機能が違います。詳細はこちら 設定できる項目は以下のようなところです。

  • 同時実行数
  • cronの定義数
  • タイムアウトの長さ
  • インターバル時間
  • プランの更新頻度
  • エラーが連続出た場合にcronがdisableになるまでの回数
  • 1日あたりの手動実行回数
  • ログと実行計画
  • Email notification(失敗したときと実行後のどちらかを選べる)
  • 同時実行数の追加購入
  • 失敗したジョブのログ
  • Cookieの利用有無
  • HTTP POSTできるか

EasyCron自体もAPIが用意されているので、便利かも?

また、IPが公開されていてどれかから実行されるよう。IP制限もできるのでSecurity Groupとかで利用できそうです。

142.4.201.54
158.69.118.105
192.99.12.158
198.245.51.209
198.245.62.5

https://www.easycron.com/ips

実際に動かしてみる

適当なnginxサーバをたててそこにアクセスさせてみます。

ジョブ登録画面はこんな感じ。シンプル

f:id:cross_black777:20160611143343p:plain

ジョブ一覧画面。ジョブ毎にオンオフできる

f:id:cross_black777:20160611143538p:plain

ジョブの実行ログ(サンプル画像)

f:id:cross_black777:20160611143358p:plain

実際にアクセスを受けた側のログはこんな感じ。

192.99.12.158 - test [30/May/2016:08:30:03 +0000] "GET /index.html HTTP/1.1" 200 612 "-" "EasyCron/1.0 (https://www.easycron.com/)" "-"
198.245.62.5 - test [30/May/2016:08:40:03 +0000] "GET /index.html HTTP/1.1" 200 612 "-" "EasyCron/1.0 (https://www.easycron.com/)" "-"
198.245.62.5 - test [30/May/2016:08:50:03 +0000] "GET /index.html HTTP/1.1" 200 612 "-" "EasyCron/1.0 (https://www.easycron.com/)" "-"
192.99.12.158 - test [30/May/2016:09:00:03 +0000] "GET /index.html HTTP/1.1" 200 612 "-" "EasyCron/1.0 (https://www.easycron.com/)" "-"
142.4.201.54 - test [30/May/2016:09:10:03 +0000] "GET /index.html HTTP/1.1" 200 612 "-" "EasyCron/1.0 (https://www.easycron.com/)" "-"

だいたい3秒遅れくらいで実行されそう?

課題

EasyCron側で何らかの障害が起きた際に気付けるようにしたいですね。使うならStarterプランで充分かもしれないです。ブログ見ると2011年から続いてるサービスっぽいけど、事例が全然見つからなく不安です!次はlambdaを試したいところです。