web-dev-qa-db-ja.com

cron式-人間が読める形式に変換して生成するライブラリはありますか?

私はQuartz.NETを使用していますが、スケジューラーはcron式の使用に大きく依存しています-このリンクで詳しく説明されているものなどです。

http://quartznet.sourceforge.net/tutorial/lesson_6.html

理想的には、2つのシナリオを可能にしたいと思います(最初のシナリオはおそらくはるかに困難であり、そこに何かがある可能性は低いです)

1:ユーザーがASP.NETフォームでcron式を作成する機能。ここで、分、時間、日などを選択します。

2:cron式を「金曜日の{x}分ごと」や「毎月最終日の{x}時」などの短い文字列に変換する機能

私はこれらの独自のバージョンを書き始めましたが、それは非常に大変な作業であり、そこにライブラリがあることを知りたいと思います。あるいは、皆さんからこれに関するヒントやヒントを入手したいと思います。

注:これについては何もありませんが、私が(比較的)コードの作成に成功している場合、誰かがそれを望んでいるなら、喜んでソースを共有します。

22
Chris

これを行うC#ライブラリを作成しました。これはcron-expression-descriptorと呼ばれます。 https://github.com/bradymholt/cron-expression-descriptor

33
Brady Holt

最新の Quartz.NET (この記事の執筆時点では2.1)を使用すると、CronScheduleBuilderを使用してCron式を取得できます。

日常の仕事の表現を得る:

var t = CronScheduleBuilder.DailyAtHourAndMinute(10, 0).Build() as CronTriggerImpl;
Console.WriteLine(t.CronExpressionString);// This is the actual Cron
Console.WriteLine(t.GetExpressionSummary()); // This is the description of that Cron
12
Jonas Stawski

最終的に、Niceインターフェイスを提供するこのjqueryプラグインを使用し、非表示フィールドを使用してこれを.net/c#のデータベースに保存しました。

http://shawnchin.github.com/jquery-cron/

それは私にはかなりうまくいきます。このプラグインは秒をサポートしていないので、quartz.netを使用している場合でも、文字列の先頭の秒を「0」に設定していることを確認する必要がある場合があります。

4
Adam Seabridge

少し前にNCrontabを使用しました http://www.raboof.com/Projects/NCrontab/

しかし、それはそれを人間が読めるように翻訳していないようです...

3
jjchiw

数ヶ月前に誰かが 同じ の質問をしました。
そのようなものを見つけることができたことがありません。
私は自分の「コンフィギュレーター」をやることになりましたが、私の要件は非常に単純でした。

1
LeftyX