2011-06-23 11 views
15

Używam Quartz.NET, a mój harmonogram opiera się głównie na wykorzystaniu wyrażenie cron firmy - takie jak te szczegółowo na ten link:CronExpressions - każda biblioteka, która je generuje/przekształca w czytelną formę?

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

Idealnie, chciałbym Państwu 2 scenariusze być możliwe (pierwszy jest prawdopodobnie bardzo trudny i mniej prawdopodobne, że coś tam dla niego)

1: Zdolność użytkownika do skonstruowania wyrażenia cron na formularzu ASP.NET, gdzie wybierają minuty, godziny, dni itp.

2: Możliwość obracania cro n wyrażenie na krótki ciąg, taki jak "Co {x} minut w piątek" lub "At {x} o zegar w ostatnim dniu każdego miesiąca"

Zacząłem pisać własne wersje tych, ale To bardzo ciężkie zadanie i chciałbym się dowiedzieć, że jest tam biblioteka, a nawet mieć wskazówki i wskazówki na jej temat.

Uwaga: Jeśli nie ma w tym nic, a ja (względnie) udało mi się stworzyć kod, chętnie podzielę się tym źródłem, jeśli ktoś zechce.

+1

Proszę opublikować swoją wersję biblioteki. Przyda mi się. Dzięki –

Odpowiedz

1

Ktoś zapytał się same pytanie kilka miesięcy temu.
Nigdy nie udało mi się znaleźć czegoś takiego.
Skończyło się na moim własnym "konfiguratorze", ale moje wymagania były dość proste.

23

Napisałem bibliotekę C#, która właśnie to robi. Nazywa się deskryptor wyrażenia cron. https://github.com/bradyholt/cron-expression-descriptor.

+0

kochał swoją pracę @Brady :-) Dzięki za wychowanie! –

+3

Czy wiesz, czy istnieje narzędzie do odwrotnego działania? Wprowadź w * "O 11:30 od poniedziałku do piątku" * i zwróć: ** "30 11 * * 1-5" ** –

7

Używając najnowszego Quartz.NET (2.1 od tego pisania) można uzyskać wyrażenie Cron za pomocą CronScheduleBuilder.

Pierwsze wyrażenie dla codziennych zadań:

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 
+0

@Dziękuję Jonasowi za informacje. –

+0

Ta strona została zbudowana przy użyciu Quartz: [link] (http://www.cronmaker.com), może być użytecznym przykładem dla tych, którzy chcą budować wyrażenia z czytelnego GUI. –

3

skończyło się przy użyciu tego jquery plugin, który zapewnia przyjemny interfejs, a następnie za pomocą ukrytego pola, aby zapisać to do bazy danych w .NET/C#.

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

To działa całkiem dobrze dla mnie. Być może będziesz musiał sprawdzić, czy ustawiasz sekundy z przodu ciągu na "0", ale jeśli korzystasz z quartz.net, tak jak ja, ponieważ ta wtyczka nie obsługuje sekund.

Powiązane problemy