人が読みやすいスケジュール、ライブログ、ジョブごとの実行履歴を備えたcronジョブ管理Web UI。
Hexagon/croner
Node.js、Deno、Bun、ブラウザーで関数のスケジュール実行や次回実行時刻の計算ができる、依存関係ゼロのTypeScript/JavaScript製cronライブラリ。
- スター
- 2,611
- フォーク
- 75
- 未解決の Issue
- 7
- 最終コミット
- 4 日前
これは何?
Cronerを使うと、JavaScriptやTypeScriptのコードでcronスケジュールに従って関数を実行したり、cron式を評価して今後の実行時刻を一覧表示したり、日付がパターンに一致するか確認したりできます。データベースや設定ファイルを必要とせず、メモリ上で動作し、Node.js、Deno、Bun、ブラウザーに対応しています。
標準的なcron構文に加え、秒フィールドと年フィールドを任意で指定できるほか、L(最終日または最終曜日)、W(最も近い平日)、#(月の第N曜日)、+(日と曜日のAND条件)をサポートしています。ジョブには特定のタイムゾーンを指定でき、一時停止、再開、停止のほか、実行回数の上限や開始・終了時刻も設定できます。
実行時の安全機能として、前回の非同期タスクが実行中の場合に新たなトリガーを抑止する多重実行防止、設定可能なエラー処理、NodeやDenoのプロセス終了を妨げないようタイマーのunrefを有効にするオプションを備えています。型定義も含まれています。
主な機能
- 01秒フィールドと年フィールドを任意で指定できるcron式で関数をスケジュール実行できます。
- 02今後および過去の実行時刻を一覧表示し、日付がパターンに一致するか確認できます。
- 03タイムゾーン、L、W、#、+の修飾子、Quartz形式の曜日番号に対応しています。
- 04非同期タスクの多重実行防止機能を内蔵し、エラー処理を設定できます。
- 05依存関係がなく、TypeScriptの型定義も含まれています。
ユースケース
- 別のスケジューラーサービスを用意せずに、Node.jsやBunのサーバー内で定期的なバックグラウンドジョブを実行する。
- スケジュールの今後の実行時刻を複数計算し、UIに表示する。
- 地域の異なるユーザー向けに、特定のタイムゾーンでタスクをスケジュールする。
- Denoやブラウザー環境でcron形式のタイマーを実行する。
クイックスタート
- 1
npmからcronerをインストールする
npm install croner - 2
プロジェクトにCronクラスをインポートする
import { Cron } from "croner"; - 3
cronパターンで関数をスケジュールする
new Cron('*/5 * * * * *', () => { console.log('This will run every fifth second'); });
使う前に知っておきたいこと
- すべてがメモリ内で処理されるため、タイマーはホストプロセスの実行中のみ動作します。
トピック
よくある質問
- croner とは?
- Node.js、Deno、Bun、ブラウザーで関数のスケジュール実行や次回実行時刻の計算ができる、依存関係ゼロのTypeScript/JavaScript製cronライブラリ。 Cronerを使うと、JavaScriptやTypeScriptのコードでcronスケジュールに従って関数を実行したり、cron式を評価して今後の実行時刻を一覧表示したり、日付がパターンに一致するか確認したりできます。データベースや設定ファイルを必要とせず、メモリ上で動作し、Node.js、Deno、Bun、ブラウザーに対応しています。
- croner は無料で使えますか?ライセンスは?
- croner は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- croner は今もメンテナンスされていますか?
- 活発にメンテナンス中。croner の最終コミットは 2026年10月18日 です。
- croner は何に使えますか?
- 別のスケジューラーサービスを用意せずに、Node.jsやBunのサーバー内で定期的なバックグラウンドジョブを実行する。 スケジュールの今後の実行時刻を複数計算し、UIに表示する。 地域の異なるユーザー向けに、特定のタイムゾーンでタスクをスケジュールする。 Denoやブラウザー環境でcron形式のタイマーを実行する。
- croner のインストール方法は?
- npmからcronerをインストールする: npm install croner プロジェクトにCronクラスをインポートする: import { Cron } from "croner"; cronパターンで関数をスケジュールする: new Cron('*/5 * * * * *', () => { console.log('This will run every fifth second'); });
- croner はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/Hexagon/croner
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Deno、Node.js、Bun、ブラウザー、エッジ関数で動作する、依存関係ゼロのJavaScript/TypeScript向けロギングライブラリです。
V8、Rust、Tokioを基盤とする、セキュアなデフォルト設定を備えたJavaScript、TypeScript、WebAssemblyランタイム。
Python向けの分散タスクキュー。バックグラウンドジョブの実行や、ワーカーとメッセージブローカーをまたいだ処理のスケジューリングに対応します。
毎日の60秒ニュース、中国の各種プラットフォームのトレンド、価格、天気などを提供する無料のオープンAPI集で、Docker、Deno、Bun、Node.js、Cloudflare Workersにデプロイできます。
テキスト、四角形、線、JPEG画像、リンクを含むPDFを生成できる、依存関係ゼロの軽量なTypeScriptライブラリ。