Пользовательский ввод с Hangfire - PullRequest
0 голосов
/ 30 августа 2018

Я новичок в Hangfire и пытаюсь найти способ, позволяющий пользователю настраивать время запуска задания. У меня есть метод Jquery для получения ввода от пользователя и получения значения. Я использую MVC, поэтому контроллер использует основные повторяющиеся задания каждую минуту.

[HttpPost]

public string GetUrlSource(string url){
JobStorage.Current = new SqlServerStorage(ConnectionString);

RecurringJob.AddOrUpdate(()
    => GetUrlSource(url), Cron.Minutely//Trying to change to custom input. There is an input on the view with an id of freqInput and I'm using AJAX call to pull the jquery to the controller and set to a parameter.);
RecurringJob.Trigger("1");

1 Ответ

0 голосов
/ 31 августа 2018

Мэтью, надеюсь, я правильно понял ваш вопрос.

Hangfire может планировать задания на основе выражений cron . С учетом вышесказанного, я бы посоветовал вам добавить выбор / раскрывающийся список в вашем интерфейсе с перечисленными возможностями cron. Передача значения выбранного элемента в задание контроллера / зависания. Смотрите примеры кода ниже:

тестер экспрессии cron

HTML:

<select>
   <option value="0 10 * * * ">Every day at 10</option>
   <option value="0 10 * * 6">Every Saturday at 10</option>
   <option value="0 10 * * 1">Every Monday at 10</option>
</select>

замедленное воспламенение:

string cronExp = "0 10 * * *";
RecurringJob.AddOrUpdate(() => Console.WriteLine("Recurring!"),  cronExp);
...