米Deno Landは、V8 JavaScriptエンジンとRust言語を使用したJavaScript/TypeScriptランタイム「Deno」にジョブ・スケジューラーの機能「Deno Cron」が加わったと11月29日(現地時間)に明らかにした。DenoはMITライセンスで公開しているオープンソース・ソフトウェア。
Deno CronはDenoのバージョン1.38から加わった機能だが、まだ安定版には到達していない。使用するには「Deno.cron()」関数を呼び出し、引数としてジョブの名称、スケジュール、ハンドラを指定する。スケジュール指定には、UNIX/Linuxの「cron」と同様の書式を利用できる。
UNIX/Linuxのcronとはことなり、Deno Cronでは、タスクが重複した場合、並列で実行するのではなく、実行中のジョブの終了を待つ仕様になっている。Deno Landは、重複したジョブを同時に実行させようとすると、意図しない問題が発生することがあり、その問題を避けようとすると大きな手間と長い時間がかかるため、ジョブの並列実行に対応しないとしている。
Deno Cronは、Deno Landが提供している分散ホスティング・サービス「Deno Deploy」でも利用できる。Webサーバーが動作していない状態でもスケジュール設定したジョブの実行は可能になっている。また、Deno DeployのWeb設定画面には、プロジェクトで設定済みのジョブを一覧する画面や、ジョブの実行履歴を示すログを一覧する画面も用意している。
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です