カスタマインの kintone アプリのカスタマイズでは、カスタマイズの見通しを良くしたりメンテナンスをしやすくするために、機能ごとにページを分けてカスタマイズすることをおすすめしております。


ただこれはkintoneアプリのカスタマイズの場合で、Job Runnerのカスタマイズでは基本的にページを分けてカスタマイズすることは、ほとんどの場合おすすめしません


ページを分けた方が良いと思うようなカスタマイズは、Job Runnerでは別のカスタマイズとして作成いただく事をおすすめします。


理由1:Job Runnerのカスタマイズはすべてのページが同時に実行開始する

Job Runnerのカスタマイズは、ページごとに最初に実行されるアクションの条件は定期実行タスクであれば条件「実行予定時刻になった時」、kintoneアプリのWebhook のカスタマイズであれば条件「Webhook を開始した時」を指定します。

すべてのページで同じ条件となりますので、全ページが同時に実行開始します。


(※kintoneアプリのカスタマイズであれば、条件「詳細画面を表示した時」「レコードを保存する直前(削除時は除く)」など、アクションの一つ目の条件に指定したタイミングで動作するため、アクションごとに実行されるタイミングは異なります)


Job Runnerのカスタマイズは、複数のページが同時に実行されることで下記のような問題が発生する可能性があります。

  • メモリなどのリソースを複数ページで共有するため、メモリエラーやタイムアウトエラーが起きやすくなる

  • 複数ページで同じアプリの同じレコードを更新している場合は、リビジョンエラーが起きる可能性がある


理由2:APIトークンの扱いが複雑になる

やること「kintone 接続設定を行う」で指定するAPIトークンの扱いが複雑になります。

  • 同じkintoneアプリに接続するのであれば、全ページで同じAPIトークンを指定する必要がある

    • ページ1ではレコード閲覧のみの権限を持つAPIトークン、ページ2ではレコード閲覧と編集の権限を持つAPIトークン…のような指定をすると、実行時にエラーになる場合があります

  • kintoneの仕様により、APIトークンは全ページで使用されているものを合計して9個を超えることはできないため、各ページで異なるアプリを扱っている場合に、カスタマイズの設定や扱うデータの内容によっては実行時にエラーになる場合がある
    ※kintoneのAPIトークン認証の仕様についてはこちらのページに記載がございますのでご確認下さい


理由3:Job Runnerのカスタマイズはカスタマイズの数や対象アプリの数が増えても料金は変わらない

Job Runnerのカスタマイズは、アプリスロット1個につき3時間の時間ジョブを実行できる仕組みのため、1つのアプリに対するカスタマイズがいくつあっても利用料金は変わりません。

そのため、利用料金を理由に1つのカスタマイズにまとめる必要はありません。


上記のような理由から、基本的にページを分けるのではなく、カスタマイズを分けて作成されることをお勧めします。


ただ、下記の例のようにページごとに実行するタイミングが異なる場合は、同じカスタマイズでページを分けた方がカスタマイズの管理がしやすい場合もあります。


例外として、ページ分けに向いているカスタマイズ

定期実行タスク

スケジュールでは毎日実行されるように指定していて、ページごとに実行する曜日が異なるような場合は、ページ分けするとカスタマイズが管理しやすくなります。


カスタマイズでは、ページごとに異なる曜日に実行されるよう設定しておきます。このようなカスタマイズであれば、各ページが同時に実行されることはないため、前述のような問題は起こりません。


kintone アプリの Webhook

kintone の Webhook の「通知を送信する条件」ごとに別のカスタマイズを実行したい場合は、ページ分けして設定いただくとカスタマイズを管理しやすいです。


カスタマイズでは、「Webhook」(追加条件)にある条件を使用して、kintoneの「通知を送信する条件」ごとにページを分けてカスタマイズを設定します。このようなカスタマイズの場合も、ページごとのカスタマイズが別々に実行されますので、前述の問題は起きません。


まとめ

以上のことから、基本的にJob Runnerのカスタマイズは、ページ分けをせずに別のカスタマイズとして作成いただくことをおすすめいたします。


例外のカスタマイズについては、別のカスタマイズとして作成いただいても問題ありませんが、各ページが同時に実行されないのであれば、カスタマイズをまとめることで管理しやすくなりますので、こちらは1つのカスタマイズとして作成いただくのがおすすめです。


ご質問がございましたら、チャットでお問合せください。