n8nのCronノードのパラメータ設定方法について詳しく解説!

s
satou
update 2022/6/8

n8nのCronノードの解説をしたいと思います。

Cronノードとは

Cronノードは、あらかじめ指定した時刻に実行してくれるノードです。

Startノードでワークフローを実行する場合は作成画面でボタンをクリックして実行していましたが、Cronノードを使うことで自動で実行することが出来るようになります。
例えば「毎朝9時にLINEに通知する」ということが出来たりします。

もちろんですがCronノードは開始ノードなので、ワークフローの1つ目のノードとして使います。

Cronノードなどの自動実行系の忘れやすいポイント

●ワークフローをActiveにする
ワークフロー作成画面右上にあるボタンでActiveな状態にし、Saveしておく必要があります。

●n8nを起動しておく
デスクトップ版、セルフホスト版ではn8nが起動していないと自動実行されません。(クラウド版は常時起動状態なので気にする必要ありません)


Cronノード設定画面

Trigger Times

自動実行させたいスケジュールをAdd Cron Timeで条件を追加し設定します。
Modeごとに設定項目や方法が違うのでそれぞれ解説していきます。

Mode(Every Minute)

毎分実行
Every Minuteはその他の設定項目はありません。

Mode(Every Hour)

毎時実行
詳細設定は、何分に実行するか設定をします。

項目 設定値 説明
Minute 整数値, 任意の値 何分に実行するか設定する


設定値は半角で登録
設定する整数値は半角で登録する必要があります。
全角の場合登録出来ないのでエラーにはなりませんが、数値が登録できないという場合は半角になっているか確認してみてください。


Mode(Every Day)

毎日実行
詳細設定は、何時何分に実行するか設定します。

項目 設定値 説明
Hour 整数値, 任意の値 何時に実行するか設定する
Minute 整数値, 任意の値 何分に実行するか設定する


Mode(Every Week)

毎週実行
詳細設定は、何曜日の何時何分に実行するか設定します。

項目 設定値 説明
Hour 整数値, 任意の値 何時に実行するか設定する
Minute 整数値, 任意の値 何分に実行するか設定する
Weekday Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday, 任意の値 何曜日に実行するか設定する


例えば、
「毎週金曜日の12:30」に自動実行するのであればこのように設定します。

Mode(Every Month)

毎月実行
詳細設定は、何月の何時何分に実行するか設定します。

項目 設定値 説明
Hour 整数値, 任意の値 何時に実行するか設定する
Minute 整数値, 任意の値 何分に実行するか設定する
Day of Month 月, 任意の値 何月に実行するか設定する


Mode(Every X)

任意の分ごと、もしくは時間ごとに実行
詳細設定は、単位(分、時間)を選択し、それに合った数値を設定します。

項目 設定値 説明
Value 整数値, 任意の値 何分、もしくは何時に実行するか設定する
Unit Minutes, Hours, 任意の値 どの単位の周期で実行するか設定する


例えば、
「30分に1回」自動実行させたい場合だとこのように書きます。
「8時間に1回」自動実行させたい場合はこうなります。


タイムゾーン
タイムゾーンはどこの地域の時間帯なのかを設定します。
日本であればワークフローのタイムゾーンの設定を「(GMT+09:00) Tokyo」にしておく必要があります。

想定しているスケジュールで実行されない場合もまずはタイムゾーン設定が正しいか確認しましょう!


複数のスケジュールで実行
Trigger TimesはAdd Cron Timeで追加して複数設定することも可能です。
「月曜日と金曜日」、「5・10・15・20・25日の支払日」などCronノード一つで設定出来ます。


Mode(Custom)※プログラマ向け

cron式で設定したスケジュールで実行
Mode(Custom)はcron式というプログラミングの書き方なので、プログラマーの方以外は使用する必要はないと思います。

項目 設定値 説明
Cron Expression cron式, 任意の値 cron式で実行するスケジュールを設定する


使う場合の注意点としては、
アスタリスクが6つあり一番左のアスタリスクは秒を表すので注意してください。
※秒は省略してもかまいません。
書き方例)毎日04:08に実行する場合

  • 「* 8 4 * * *」
  • 「0 8 4 * * *」
  • 「8 4 * * *」


cron式はプログラマー向けなので詳しくは説明しませんが、書き方はウィキペディアのCronページを参考にしてください。
また、Cron式が正しいか検証できるWeb サービス(英語)もあるのでこちらも使ってみるといいかと思います。

(補足)Cronノードの検証方法

自動実行のスケジュールが月に1回とかだと正しく設定出来ているのか確認が難しいと思います。
Cronノードの設定が上手く出来ているか確認する方法をいくつか考えてみたので参考にしてみてください。

  • 手動実行で動かす
    手動実行で正常実行が出来るということはCronに書いた内容で文法のエラー(誤った書き方)ではないということが確認できます。

  • 2つのノードの短いワークフローを作り確認
    Cronノードとメール、LINE、チャットノードなどで通知を行い自動実行されることを確認する。
    実際に作ったフローで検証だと、Cron以外の問題の可能性も出てくる為シンプルなフローでCronノードの検証をまず行うことが大切です。

  • Every Minuteで自動実行する
    毎分で自動実行で通知されれば自動実行は正常(タイムゾーンの設定、Active状態)に設定出来ていることが確認出来ます。

  • 最短の時間で動かしてみる
    設定したいModeの最短(一番近い日時)に設定して自動実行の確認をします。
    月単位などの場合はあまり有効ではありませんが、確認作業を少しでも早く行いたい時に使える方法かなと思います。


最後に

Cronノードについて解説しました!

自動実行はワークフローの重要な機能の1つだと思いますし、醍醐味だと思います。
Cronノードを使ってルーティン業務を改善してみてください!

あなたのデジタル化も
掲載しませんか?

Google Formで入力する