0

C# Web アプリケーションで Ncrontab を使用しています。現在、crontab スケジュールを作成するための一連のテキストボックス、チェックボックス、およびドロップダウンを含むビューがあります。ただし、ユーザーがスケジュールを編集できるようにするために必要なことは、crontab 文字列を取得してビューに適切に入力することです。

たとえば、次の文字列を使用します。

0 */4 * * *

それを分解して、ドロップダウンから「毎時」を選択し、テキストボックスに「4」を入力する必要があります(「x」時間ごとに発生します)。つまり、 cronmakerとは逆のことができる必要があります。

私は Google などを調べていて、Quartz.NET への参照をいくつか見ましたが、必要な機能があるかどうかはわかりません。助言がありますか?

編集:一連の条件や文字列比較なしでこれを行うためのより効率的な方法があるかどうかを尋ねていると思います。知っておくべきライブラリはありますか、それとも袖をまくり上げて解析を開始する必要がありますか?

4

2 に答える 2

4

使用したことはありませんが、CronExpressionDescriptorはあなたが探しているもののようです。ここをクリックしてライブデモをご覧ください

GitHub の CronExpressionDescriptor

NuGet の CronExpressionDescriptor

于 2013-06-14T21:12:16.307 に答える
0

...誰かを助けるかもしれない小さな追加:

たとえば Azure で使用されるncrontab形式には、の余分な位置があることに気付きました。

{second} {minute} {hour} {day} {month} {day-of-week}

https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-timer?tabs=csharp#ncrontab-expressions

対。

# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of the month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12)
# │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday;
# │ │ │ │ │                                   7 is also Sunday on some systems)
# │ │ │ │ │
# │ │ │ │ │
# * * * * * <command to execute>

https://en.wikipedia.org/wiki/Cron

于 2021-12-12T10:28:54.570 に答える