Skip to content

Instantly share code, notes, and snippets.

@maiha
Last active August 29, 2015 14:07
Show Gist options
  • Save maiha/9dd40418e490cd55096e to your computer and use it in GitHub Desktop.
Save maiha/9dd40418e490cd55096e to your computer and use it in GitHub Desktop.
scalaで使えるjob schedulerの調査 (2014.10.03)
a) akka.actor.Scheduler
* akka bundle
* 生akka系
* 永続化: なし
* 使用例: 'system.scheduler.scheduleOnce(8 hours, self, StartDeliveryWorkers)'
* akka: 2.3 ready
* 開発: 活発 (akkaに依存)
b) akka-quartz-scheduler
* https://github.com/enragedginger/akka-quartz-scheduler
* Quartz系
* 永続化: ???
* crontab タイプ
* 設定: configに静的に記述
* 使用例: 'akka.quarts.xxx { expression = "*/30 * * ? * *" }'
* akka: 2.0~2.2 (2.3.4のPRあり)
* 開発: 停止or停滞 (PRは2014.5から放置)
c) akka-quartz
* https://github.com/theatrus/akka-quartz
* Quartz系
* 永続化: ???
* crontab タイプ
* 設定: 動的
* 使用例: 'quartzActor ! AddCronSchedule(destinationActorRef, "0/5 * * * * ?", Message())'
* akka: 2.3 ready
* 開発: 安定期 (PRは2014.8をmerge)
d) Hinemos
* http://www.hinemos.info/
* 統合運用管理ソフトウェア (NTTデータ)[GPL]
* 機能: http://www.hinemos.info/hinemos/feature/job
e) JobScheduler
* http://www.sos-berlin.com/modules/cjaycontent/
* ジョブ管理ツール (SOS(独))[GPL]
* 実績: 海外では金融系でも利用されている
* 機能: スケジューリング、ジョブの実行順序、失敗時の設定 (WebAPIで何でもできる)
* 弱点: 日本語が使えない(落ちる)、色々直感的でない、GUIが弱い、玄人向け
* 永続化: Databases: SQL Server, Oracle, DB2, MariaDB, MySQL, PostgreSQL, Sybase ASE
f) Job Arranger for Zabbix
* http://www.fitechforce.com/
* フルオープンソースなジョブ管理 (大和総研; 2012)
* 機能: Zabbixと組み合わせることができる。稼動状態をGUIでリアルタイムに確認できる
* 弱点: WebAPIがない(Linuxコマンドはジョブ起動程度)、凝ったことはできない(排他制御、繰り返し、ジョブの分岐)
g) azkaban
* https://azkaban.github.io/
* Javaで動作する高機能なjob管理 (LinkedIn)
* 機能: jobの依存関係やフロー管理が可能。処理失敗時の設定可能。GUIあり。
* 弱点: job投入はGUIでポチポチのみ?(プログラムから動的には無理?)
* 永続化: MySQL
a) JP1
* 価格: http://www.hitachi.co.jp/Prod/comp/soft1/jp1/product/price/job/job_win.html
* 統合システム運用管理ツール (日立製)
b) A-AUTO
* 価格: http://www.bsp.jp/products/aauto/open/price.html
* バッチジョブ管理実行ツール (BSP)
c) Tivoli
* 価格: ???
* ジョブスケジュール管理ツール (IBM)
d) Systemwalker Operation Manager
* 価格: http://systemwalker.fujitsu.com/jp/operationmgr/price/
* ジョブスケジューリング運用ツール (富士通)
* 対象(例):メール送信
* 言語:scala から動的にジョブを積めること。安全に積めること(ack)
* ジョブ:開始時刻を指定できる、キャンセルできる、1ヶ月とか先のスケジュールもできる
* 規模:1ジョブが持つデータ量はとりま1億件 (スケールアウトできること)
* 永続化:色々再起動しても消えない
* GUI等:モニタリングや管理ツールがあると嬉しい (必須ではない)
* Playframework、Akka、Quartz、MyBatisで簡単なジョブスケジューラを作成してみた http://shanon-tech.blogspot.jp/2013/01/playframeworkakkaquartzmybatis.html
* akka 2.2, quartz 2.1.5, mybatis scala での実例
* オープンソースなジョブ管理ツール SOS JobScheduler を使ってみよう — 環境構築編 – http://blog.excale.net/index.php/archives/3387
* 脱cron! SOS JobschedulerでRailsのジョブ管理をしてみる http://labs.timedia.co.jp/2014/03/cron-sos-jobschedulerrails.html
* ガチ(?)対決!OSSのジョブ管理ツール http://www.slideshare.net/SuguruAkiho/oss-36645536
* azkaban https://twitter.com/sgykfjsm/status/517965538253742080
* Azkabanを入れてみる http://dayafterneet.blogspot.jp/2011/11/azkaban.html
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment