@Fsharp_chat

Страница 706 из 772
Roman
13.09.2018
14:01:04
Ну кварц - такое
есть аналоги лучше?

Vasily
13.09.2018
14:01:18
Зависит от сценариев

Grigoriy
13.09.2018
14:01:24
Василий, я тебя понял :)

Roman
13.09.2018
14:01:56
Зависит от сценариев
сценари раз в какое-то время дергать делегат)

Google
Vasily
13.09.2018
14:02:07
У кварца фишка - персистентные джобы, которые выполняются годами

В смысле на протяжении лет

У акки в скедулере вроде порядка 9 месяцев без рестарта могут рескедулиться

Grigoriy
13.09.2018
14:02:42
RepeatForever()

Grigoriy
13.09.2018
14:03:37
скажем так - кварц мне достался в наследство

Roman
13.09.2018
14:03:42
крон выражния - удобны, кстати

Vasily
13.09.2018
14:03:49
Кварц в крон умеет

Grigoriy
13.09.2018
14:04:08
Кварц в крон умеет
См. мой вопрос :)

но дело не в кроне

Vasily
13.09.2018
14:04:48
Тебе надо быстрые джобы и много?

Grigoriy
13.09.2018
14:04:51
пытаюсь сделать такое - работа работой, а обед по расписанию

Vasily
13.09.2018
14:05:36
Нипанятна

Google
Grigoriy
13.09.2018
14:05:38
нет - мне надо мало жобов, но + к расписанию - run on demand

Vasily
13.09.2018
14:06:05
Ну есть еще HangFire, говорят

Roman
13.09.2018
14:06:13
пытаюсь сделать такое - работа работой, а обед по расписанию
там в статьей которую скинул Василйи по Гопак, есть про создание таймбомбы, очень похоже на "обед по расписанию")

Vasily
13.09.2018
14:06:20
Но я не в теме

Roman
13.09.2018
14:06:34
Vasily
13.09.2018
14:06:46
Кварц он энтерпрайзненький

Под него отдельный сервис надо по идее

Roman
13.09.2018
14:07:10
Под него отдельный сервис надо по идее
хз, никогда такого не было в моем коде

Vasily
13.09.2018
14:07:34
Ну, ты, видать , под IIS не деплоился никогда

Grigoriy
13.09.2018
14:07:38
вот этот сервис я и пилю

Roman
13.09.2018
14:07:42
а так деплоился)

Vasily
13.09.2018
14:07:57
Апппул имеет свойство диспозиться

Через некоторое время

Grigoriy
13.09.2018
14:08:06
если под IIS деплои ...

Roman
13.09.2018
14:08:10
настройки все решают

Grigoriy
13.09.2018
14:08:11
Да :)

Vasily
13.09.2018
14:08:20
Это костыли

Типа постоянного пинга

Grigoriy
13.09.2018
14:08:29
Я по-иному делаю, но не суть

Google
Roman
13.09.2018
14:08:32
настройки не костыли)

Grigoriy
13.09.2018
14:09:09
не надо ссориться :)

Roman
13.09.2018
14:09:31
никто не ссорится)

Grigoriy
13.09.2018
14:09:41
можно я напишу, с чем у меня затык?

Vasily
13.09.2018
14:09:48
Пиши

Grigoriy
13.09.2018
14:10:21
я всегда хочу знать время предыдущего и следующего старта

с кроном - всё ясно и прозрачно

Vasily
13.09.2018
14:10:38
А, это тебе надо в джобе хранить инфу

Grigoriy
13.09.2018
14:10:48
она там есть

в триггере

Vasily
13.09.2018
14:11:39
Дык тебе это зачем?

Grigoriy
13.09.2018
14:11:40
но - когда я создаю триггер с StartNow - run on demand типа

Дык тебе это зачем?
Мне для юзеров - в UI

Vasily
13.09.2018
14:12:07
Тебе надо, чтобы next перезаписывался?

Grigoriy
13.09.2018
14:13:00
он отрабатывает, но этот триггер больше не доступен - и предыдущее время получается - не из этого, последнего, а из крона

Vasily
13.09.2018
14:13:04
https://stackoverflow.com/questions/32242278/quartz-net-trigger-scheduled-job-on-demand

Вроде оно

Grigoriy
13.09.2018
14:13:36
да это понятно как стартовать

как это время "без костылей" получить из жоба?

Vasily
13.09.2018
14:14:28
В джобу засунуть сервис, который пишет время старта и окончания?

Google
Grigoriy
13.09.2018
14:14:51
как вариант... спс!

а что если... run on demand заменить "расписанием" с "бесконечным" интервалом?

Vasily
13.09.2018
14:16:05
Так не надо, думаю

Grigoriy
13.09.2018
14:16:31
вай нот?

Vasily
13.09.2018
14:16:53
Ну проще делать RunOnce же

Grigoriy
13.09.2018
14:16:55
пусть безобразно, зато однообразно

не надо ничего нигде дополнительно сохранять-писать

предыдущее время останется в этом триггере, а следующее наступит, когда Солнце погаснет

Vasily
13.09.2018
14:18:04
Ну рано или поздно у тебя накопится критическая масса таких джобов

Grigoriy
13.09.2018
14:18:11
не-а

Vasily
13.09.2018
14:18:21
И памяти может не хватить

Grigoriy
13.09.2018
14:18:32
там же триггер можно реплейсить - я буду ран он деманд заменять

Vasily
13.09.2018
14:18:55
Плохая идея

Grigoriy
13.09.2018
14:19:15
т.е. у каждого жоба - триггер с кроном + потенциальный "одноразовый"

Vasily
13.09.2018
14:19:19
Особенно, когда ран он деманд попадает на выполнение по расписанию

Сделай джобу\

По ран он деманд

КОторая принимает функцию

Grigoriy
13.09.2018
14:19:54
это решаемо - [<DisallowConcurrentExecution>]

Google
Vasily
13.09.2018
14:20:56
Ну смотри

В целом у тебя джоба состоит из расписания

И функции, которую надо зафайрить

В определенное время

Так вот

Если в джобу подкладывать контекст для исполнения

То все будет ок

Grigoriy
13.09.2018
14:22:44
а в UI как прокинуть?

Vasily
13.09.2018
14:22:59
А что ты хочешь прокидывать в UI&

?

Grigoriy
13.09.2018
14:23:22
сейчас, грубо говоря, беру имя жоба, получаю список триггеров

Vasily
13.09.2018
14:23:47
Тебе нужно список заскедуленных показывать?

Grigoriy
13.09.2018
14:24:12
маплю триггеры на время последнего старта, сортирую по убыванию, беру первый

Vasily
13.09.2018
14:24:26
Эмммм

Grigoriy
13.09.2018
14:24:38
и так же со следующим стартом - только сооответсвенно сортирую по возрастанию

Vasily
13.09.2018
14:25:03
Месье знаток

Grigoriy
13.09.2018
14:25:32
в извращениях, ты имеешь в виду? :)

Vasily
13.09.2018
14:25:40
Отож

Я бы завел структуру, где бы просто хранил последний с иследующий планируемый

Grigoriy
13.09.2018
14:26:44
это ж надо её в актуальном состоянии поддерживать

Vasily
13.09.2018
14:26:58
Ну на каждом ране

ОБновляется причем тривиально

Страница 706 из 772