LINUX.ORG.RU

Либа для шедулинга

 ,


0

2

С интерфейсом вида:


//Вход:
auto time_point_now = now();


//Что собственно требуется от либы:
//кронподобный синтаксис - необязательно, главное что бы расписания можно было задавать с той же гибкостью
auto schedule = make_schedule("* 5 * * *", "Europe/Berline");
auto time_point = schedule.next(time_point_now);

//Выход: таймштамп первого совпадения с правилом описанным в расписании
timed_wait_until(time_point);

Можно выдрать из bistro, но очень не охота - много чего оно за собой тянет, да и бустовская политика работы с таймзонами не заводит.

Можно навилосипедить, но вдруг есть чё.

★★★★★

Последнее исправление: pon4ik (всего исправлений: 3)

Если интервалы большие, то можно из крона теребить приложение через фифо или юникс-сокет

annulen ★★★★★
()
Ответ на: комментарий от annulen

Не, это вариант в последнюю очередь рассматривается, хочется ибо в идеале кроссплатформы.

pon4ik ★★★★★
() автор топика
Ответ на: комментарий от pon4ik

Если отбросить поддержку кронового формата и задавать интервалы в (милли)секундах, то такую штуку довольно легко реализовать на любом ивентлупе с поддержкой таймеров

annulen ★★★★★
()
Ответ на: комментарий от annulen

Вы не поняли меня сэр :) Мне не поспать инкапсулировать надо, а собственно расписание.

pon4ik ★★★★★
() автор топика
Ответ на: комментарий от xpahos

Да, но интерфейс пользователя у него норм.

Либ, где эвентлуп запускается и которые каждые n секунд в кронтаб смотрят - мильёрд. А из тех что используют нормальный подход только монтсруозный бистро мне на глаза попался.

Аврора как я понял, то же самое (что и bistro). А мне нужен только функционал подсистемы cron по большому счёту. Это как по мухе с пулемёта.

pon4ik ★★★★★
() автор топика
Ответ на: комментарий от xpahos

Ну вообщем одну отказоустойчивую, размазанную по кластеру, шедулилку ты мне предлагаешь заменить на другую.

А я прошу юниксвейное api с пятью функами в интерфейсе что бы наколенке внутри софтины это реализовать.

Если уж выбирать as-service выберу таки bistro, ибо там в интерфейсе я за полчаса разобрался, а тут надо ещё хотя бы полчаса потратить :)

pon4ik ★★★★★
() автор топика
Ответ на: комментарий от pon4ik

Я там ошибся. Не Apache Aurora, а Chronos. Aurora это именно запускалка распределенных задач, а Chronos замена крона.

xpahos ★★★★★
()
Ответ на: комментарий от xpahos

Ну, то что гуглиться, похоже на бистро чуть менее чем полностью, только помонструознее и поэнтерпрайзней :) Я собственно во втором сообщении про chronos и говорил.

Влюбом случае мне нужно решение которое в крестовую прогу можно вкомпилячить :)

Если рассматривать решения сервисы, то бистро будет первым кандидатом как минимум потому что он халявен, опенсурсен и дизайн мне там понравился, не понравился правда деплой и список зависимостей :(

pon4ik ★★★★★
() автор топика
Ответ на: комментарий от pon4ik

Они оба кривые, если пытаться на подобном продакшену окружении пускать. Я перепаковывал себе в пакетики уже собранное.

xpahos ★★★★★
()
Ответ на: комментарий от xpahos

Оба это бистро и хронос? Или хронос и аврора?:)

В принципе, cron из bistro я выдрал, там надо пару патчей в билдсистему произвести всего лишь. И руками нужные файлы в пакет утащить.

Сильно бесит зависимость от folly, который есть биг фэт либ.

pon4ik ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.