top of page

Velo by Wix スケジュール・ジョブ

Wix専門のWeb制作会社、合同会社アクトワンのVelo開発部です!


今回は、Wixの開発機能「Velo」に備わっているスケジュール・ジョブについて、分かりやすくご紹介します。


Wixエディタ・Wix Studio共通の内容になります。



スケジュール・ジョブって何?

スケジュール・ジョブとは、指定した時間に自動で特定の処理を実行する機能です。

例えば、以下のようなケースで活用できます。


  • 毎晩、自動で注文データを整理

  • 毎月1日に、売上データを集計

  • お客様の誕生日に、自動でお祝いメールを送信


手動でやると大変な作業も、スケジュール・ジョブを設定すれば、自動化できます。


どうやって設定するの?

スケジュール・ジョブを登録するためにはバックエンドの jobs.config というコンフィギュ・ファイルに関数、日時等を登録する必要があります。

スケジュール・ジョブの設定箇所

バックエンドの追加(⊕)をクリックし「スケジュール済ジョブ」を選択します。

するとバックエンドに jobs.configファイルが自動的に追加されます。


ファイルを開くと以下の様な「記入例」が記載されていますので、この例に沿って登録を完成すればジョブは登録できます。


ここでは、2つの Job を登録した設定例が記載されています。要はキーが jobs、値が (jobの)配列となるオブジェクトを登録することです。

{ "jobs" : [ job_1, job_2, …, job_n ] }

そして各ジョブ(job_1, …)は以下の形式を持つオブジェクトです。

{
     "functionLocation": "/someBackendFile.js",
     "functionName": "someBackendFunction",
     "description": "some job description",
     "executionConfig": {some schedule}
}

上記2つの記入例の違いは some schedule の書き方の違いです。いずれにせよこの登録を行うことで、スケジューラーは、


some schedule に登録された時刻に

/someBackendFile.js に登録されたファイルの

someBackendFunction に登録された関数を

実行します。


cron形式とは?

スケジュール・ジョブの実行タイミングは、cron(クロン) という特殊な記述方法で設定します。

設定値

意味

* * * * *

毎分

0 * * * *

毎時0分

*/10 * * * *

10分毎

0 0 * * *

毎日0時0分

0 0 1 * *

毎月1日0時0分

0 0 1 1 *

毎年1月1日0時0分

0 0 * * 0

毎日曜日0時0分


注意! 

Wixのスケジュール・ジョブは「UTC(協定世界時)」で設定されます。

日本時間(JST)は「UTC+9」なので、たとえば 0 0 * * *(深夜0時実行)は、日本時間の午前9時に実行されます。


コレクション

時刻をセーブするコレクション(jobCollection)を以下の様に用意しておきます。

日付フィールドの設定は「時間フィールドを含む」にチェックを入れておきます。

こうしておくと日付オブジェクトをそのままセーブすることが出来ます。


ただし、このチェックを入れない場合は、書式としての文字列 "yyyy-mm-dd" で日付をセーブすることが出来ます。


ここでは使いませんが時間フィールドでは、書式としての文字列 "hh:mm" で時間をセーブすることが出来ます。


これらはいずれも Dateオブジェクトに .toISOString( )メソッドを施して得られる文字列 "yyyy-mm-ddThh:mm:ss.xxxZ" を slice( )メソッドで加工すれば簡単に得られる文字列です。


関数の定義

バックエンドの追加(⊕)をクリックし「webモジュールを追加」をクリックしファイル名を saveTimeJob.web.js とします。

ファイル名の末尾は .web.js にするように推奨されています。

このファイルに以下の様に webモジュールの形式で関数 saveTime を作ります。

ジョブのパーミッションはアドミンのみですのでパーミッションはそのように設定しています。

9行目でコレクションのアイテム数を調べ、11行目で記録回数と時刻をコレクションにセーブしています。


設定は以上で終了です。驚くほど簡単です。


実行結果

下図の様にコレクションに時間がセーブされています。

微妙に秒がずれているのが面白いです。


まとめ

スケジュール・ジョブを使えば、手間のかかる作業を自動化でき、運営がぐっと楽になります。 「夜中にバックアップを取りたい」「定期的にレポートを更新したい」などのニーズがあれば、ぜひ活用してみてください!




Wix Tech Salon

アクトワンではWixクリエイターを中心としたオンラインサロンを運営しております!

Wixの知識のシェアや、ビジネスの課題解決、メンバー同士の交流を目的にしています。

ご興味がある方はぜひ覗いてみてください!


Comments


bottom of page