2013.07.13 · 技術と道具

JobScheduler:XMLやPHPで操作する

SOS JobSchedulerを他のシステムと統合したいと思うことがあります。例えば、既存システムからジョブをキックするとか、ジョブの実行状況をNagiosやZabbixといった監視システムから取得するといったことです。

そうした場合でも、JobSchedulerなら安心です。TCP通信でXMLのコマンドを投げると、結果を返してくれるようになっているのです。また、TCP通信でのXMLのやりとりをラッピングしたPHPライブラリも提供されています。

Telnetで通信してみよう!

例えば、/test/job_chain1というジョブチェーンがあるとして、それをTelnetから実行してみましょう。 telnet localhost 4444 →localhostにJobSchedulerがインストールされているとする Trying localhost… Connected to localhost. Escape character is ‘^]’. JobSchedulerとTelnet(TCP)での会話が出来るようになりました。 ここで、以下のXMLを送信してみましょう。 <add_order job_chain=”/test/job_chain1″ at=”now” /> すると、JobSchedulerからこんな回答が返ってきます。 JOC(JobScheduler Operation Centre)を見てみると・・・

joc_order_history_01

たしかに実行されているようです。

PHPでJobSchedulerを操る

上記のようにTCPでXMLを送信するとJobSchedulerを操作できますから、あとはお好きなプログラム言語でソケットプログラミングすればOKということになります。

SOS社では、PHPでのAPIライブラリを提供しています。

JobScheduler Program Interface

上記ページの説明どおり、package_scheduler.zipとpackage_class.zipをそれぞれダウンロード→展開して、次のようなコードを書いてみましょう。

エラー制御とかは一切していないコードですが、これで先ほど説明したTCPでXMLを投げた場合と同じことが出来ます。

2013/07/13 16:26
← JobScheduler:ジョブのリトライ、サスペンドとレジ…
JobScheduler:ディレクトリの監視 →
井上 研一
経済産業省推進資格ITコーディネータとして中小企業のDX・AI活用の現場で伴走支援を行う。「ITCプロセスガイドライン4.0」および「中小企業向けAI活用ガイド」執筆メンバー。著書・講演多数。ITエンジニアとして25年以上の実務経験。AI導入の実務に10年以上携わる。自ら開発したAIサービス「Gen2Go」が北九州発!新商品創出事業の認定を受ける。2026年4月より北九州市立大学大学院マネジメント研究科の学生としての顔も持つ。

本サイトおよびブログに掲載している内容は、特に明記のない限り、井上研一個人の見解に基づくものです。所属・関与する組織、団体、企業、研究会等の公式見解を示すものではありません。