JS7® JobScheduler 関連記事の目次

# 概要

JS7関連の記事の数も増えてきたので、見やすく内容を整理します。

# 環境構築

[JS7® JobScheduler docker-compose で起動(MySQL版)](https://qiita.com/saitamanokusa/items/ffb8f05cbc8e75d435ce)
[JS7® JobScheduler docker-compose で起動(PostgreSQL版)](https://qiita.com/saitamanokusa/items/a418bb1832c2330d0405)
docker-compose で、お手軽に環境を構築できます。

[JS7® JobScheduler https接続用KeyStore、TrustStore準備](https://qiita.com/saitamanokusa/items/e343717fb52e91b4908e)

# 初期設定

[JS7® JobScheduler 初期設定、サンプルWorkFlowの登録](https://qiita.com/saitamanokusa/items/2d3162b688329f5ecae2)
サーバー構築後に、最初に行う初期設定です。
ここで登録するサンプルWorkflow、JobResourceを使って、この先の解説を行います。

[JS7 JobScheduler 初めてのWorkFlow実行](https://qiita.com/saitamanokusa/items/1e5ab48cd2e9d38e035c)
初めて利用する場合は、まずこちらで基本的な操作方法を覚えてから、サンプルWorkflowを使って学習することをおすすめします。

# Workflow 設定

[JS7® JobScheduler WorkFlowでの変数利用](https://qiita.com/saitamanokusa/items/333e16149741f81dbdc3)
前半に簡単な変数の使い方の使用例と、後半は掘り下げた解説記事です。
とりあえず前半の使い方だけでも触れてみることをおすすめします。
Workflowで変数を使う場面が増えてきたら、後半の解説記事をご覧ください。

[JS7® JobScheduler WorkFlow If条件分岐](https://qiita.com/saitamanokusa/items/2ab3e1d91eaf73b79a69)
WorkflowのIf条件式の書き方についての解説です。
いざ使おうとしても、変数の使い方、式の書き方で迷うかと思いますので、興味がある場合はどうぞ。

[JS7® JobScheduler WorkFlow Cycle 処理](https://qiita.com/saitamanokusa/items/2eb2d5b28f70ed78ee52)
毎時実行などの定期処理を組む際の設定の紹介です。

[JS7® JobScheduler エージェントレスでの実行](https://qiita.com/saitamanokusa/items/3b0f188031dce4a58bfa)
WorkflowのJobを、ssh経由でリモートサーバー上で実行する方法です。
エージェントレスだと、リモートサーバー側の環境に手を加えず、JS7アップデートの手間もないため、お勧めできる利用方法です。

# Workflow 設定 応用例

[JS7® JobScheduler 並列処理をまたぐJob連携](https://qiita.com/saitamanokusa/items/6fb6f87f2d7649c296d8)
通常のForkによる並列処理では、収束しなければ並列間の連携処理が組めませんが、NoticeBoardとの連携で、これを可能にします。
こちらの内容をマスターすると、Workflow設計がかなり柔軟に行えるようになります。

[JS7® JobScheduler 複数Workflowの同期実行](https://qiita.com/saitamanokusa/items/44d2b9076470132adaa1)
複数のWorkflowを一度に実行する方法です。
Workflowを部品のように扱えるようになるため、大規模なWorkflowを設計しやすくなります。
また、スケジュール定義も親Workflowのみで済むため、シンプルになります。

[JS7® JobScheduler - HashiCorp Vaultを利用したSecret対応処理](https://qiita.com/saitamanokusa/items/9c3a78440335dd137518)
HasirCorp Vaultを利用して、JobSchedulerで実行するスクリプトに、機密情報をもたない構成の処理の例をとりあげます。
業務用途のスクリプトは、機密情報が必要となる場合が多いと思いますが、より安全に利用するための事例となります。
（HasirCorp Vaultを例に取り上げますが、他の手段にも応用できるかと思います）
※別途HashiCorp Vault 環境が必要となります。

# 通知

[JS7® JobScheduler メール通知設定](https://qiita.com/saitamanokusa/items/704d3a0e4c07dc84c247)
Workflow 実行時の正常終了／警告／エラー通知をメール送信する方法です。
メールに限らず、通知設定の基本から解説をしていますので、Slackや他システムとの連携を検討する際も目を通されることをお勧めします。

[JS7® JobScheduler Slack通知設定](https://qiita.com/saitamanokusa/items/5df00c5f7245f1cd4353)
Workflow 実行時の正常終了／警告／エラー通知を、Slackに通知する方法です。
Slack通知を例として挙げていますが、コマンドラインを使った通知のカスタマイズ事例です。

# スケジュール

[JS7® JobScheduler スケジュールの設定](https://qiita.com/saitamanokusa/items/8598a4a1a0f6d428e0e9)
スケジュール定義の基本と、営業日処理を中心に、設定例をいくつか紹介しています。
かなり柔軟にスケジュールが組めますので、業務の都合に合わせた処理の実行にどうぞ。

[JS7® JobScheduler DailyPlanによるスケジュール作成](https://qiita.com/saitamanokusa/items/fd640cf5e0fbde69b992)
スケジュール定義どおりに実行予定を作成する機能です。
JS7をスケジュール実行する場合は、必ず覚える必要のある機能です。
何となく触っているだけでは分かりづらいですが、こちらの記事で是非操作の習得を。

# API

[JS7® JobScheduler Web API 利用サンプル](https://qiita.com/saitamanokusa/items/fde0cb4d924fed5916ee)
初期設定（controller,agent登録、settingsやインベントリ登録）、Identity関連（認証サービス追加、role、permissionの追加、account追加）、Workflowの実行など操作をWebAPIを使って行う処理サンプルを掲載しています。
展開の自動化や、外部システムとの連携を検討する際に参考になるかと思います。

# 障害対応

[JS7® JobScheduler 一時停止時の影響について](https://qiita.com/saitamanokusa/items/ee7196cdcf080974bd83)
Order実行時の、JOC-Controller-Agent間のデータの流れの概要の説明と、それを踏まえ、一時停止時の影響を解説します。
JS7の管理を行う場合は必ずおさえるべき知識です。

[JS7® JobScheduler リカバリー手段の検討](https://qiita.com/saitamanokusa/items/5cf608df84a074dec954)
もしも障害でDBリストアや再構築など発生した場合につまづくポイントと、対応方法を解説しています。
検証時でも、接続ができなくなった、復旧後もOrderがうまく動かないという経験される方はいるかと思いますが、何が起こっているのかご理解いただけるかと思います。

# その他作業メモ

[JobScheduler 2.2.3 → 2.3.0 アップデート時のメモ](https://qiita.com/saitamanokusa/items/daaa30c23b194f15800d)

[JobScheduler 2.3.2 → 2.4.1 アップデート時のメモ](https://qiita.com/saitamanokusa/items/0fe18d9a2cbe2dffd5d1)

[JobScheduler 2.4.1 → 2.5.1 アップデート時のメモ](https://qiita.com/saitamanokusa/items/e5909efd5b7ddbe47a13)
記事中で、2.4以降での通知動作変更について、詳細に解説しています。

[JobScheduler 2.5.2 アップデート時のメモ](https://qiita.com/saitamanokusa/items/6945ed77155392466b10)
ver 2.5.2 コンテナ起動できない問題の対応方法が中心です。