LINUX.ORG.RU

Инструмент для планирования выполнения задач.

 


0

1

Всем привет. Нужен инструмент похожий на cron. Чтобы я мог со своего сервера добавлять на него запрос на этот же сервер и время в который этот запрос выполнится.

Запрос должен повторяться каждые 24 часа.

Это дело всё возможно удалять, добавлять, редактировать средствами сервера.

Думал по поводу кафки, но пока не представляю как это сделать.

Может есть какие-то специализированные средства.

В моей голове это представляется как какой-то сервер в отдельном докер контейнере. Я делаю туда запрос с временем выолнения задачи и временем через которое она повторится. В назначенное время этот инструмент делает запрос на мой сервер в котором обрабатыавется запрос.

Или может можно как-то cron интегрировать со spring чтобы менять ему инструкции из java и делать curlo’м например запрос на серв. Но честно говоря не вижу надёжным это решение, даже если это возможно.

UPD слово сервер выше понимается как веб-сервер



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

Ответ на: комментарий от firkax

Мне он нравится. Но я ума не приложу как через веб сервер на java создать в кроне команду, а потом ей управлять.

то есть надо выводить в ответ на запрос все расписания, конкретное расписание, удалять, редактировать.

И как это сделать

читать из файла крона все записи потом с помощью регулярки выискивать нужную строчку

Как-то это не надёжно что ли. Мб есть какой-то более глобальный инструмент. Какой-нить rabbitMQ Kafka, Ansible

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

Есть спринг приложение с веб интерфейсом.

В интерфейсе есть что-то типа яндекс календаря.

В этом календаре указываем дату и время и флаг повторять ли каждый день или нет.

Дальше я хочу записать эту дату в каую-то штуку, чтобы она пнула мой сервер ровно в это время.

Сервер получит запрос в это время и выполнит какой-то метод.

Если человек передумал ставить что-то на эту дату это время и оно ещё не иполнилось, то он может удалить и ничего не произойдёт метку в расписании или её обновить

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

через cli - at создать, atq посмотреть.
также можно и с кроном, можно и с системд. главное разораться с интерефейсом и накодить систему управления.

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)
Ответ на: комментарий от thesis

та я понимаю, что не являются.

Я прост говорю про сам концепт. То есть поднимается отдельный инструмент, написанный крутыми разрабами. Предоставляется апи для работы и всё.

Ну и в кафке я думал мб можно как-то. Но да, теперь отсею её

Спасибо

mayar
() автор топика

20 лет назад, когда у нас был php, мы просто делали системную задачу для системного крона в виде wget http://nash.site.ru/cron.php. Раз в час запускался скрипт cron.php, смотрел текущее время, если что-то надо сделать, делал, если не надо ничего делать — выходил.

Тебе такое надо? В Java наверняка есть что-то готовое и красивое, но раз так, почему бы и нет.

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

Вообще можно так каждую минуту делать запрос. В запросе смотреть бд и если есть задачи на это время то выполнять скрипт.

Но мне кажется это сожрёт кучу процессорного времени.

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

Так а зачем тебе каждую минуту? ;-)

Да и не сожрёт, у тебя там табличка на несколько килобайт, сравнить текущее время с временем в табличке — это не то, чтобы сильно нагрузит процессор. Хотя на Java можно написать так, что положит твой зион в лёгкую, да :-)

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

Вообще можно так каждую минуту делать запрос. В запросе смотреть бд и если есть задачи на это время то выполнять скрипт.

Но зачем так делать, когда можно завести таймер до ближайшего задания и проснуться ровно тогда, когда это нужно?

annulen ★★★★★
()

Если тебе не нужны какие-либо ограничения и не страшен rm -rf /. То вопрос решается просто, твой веб-сервер формирует на хосте файлик для крона. На целевой машинке каждые n секунд/минут/часов из крона отрабатывает rsync скачивая себе файлик.

ya-betmen ★★★★★
()
Последнее исправление: ya-betmen (всего исправлений: 2)
Ответ на: комментарий от thesis

Опиши задачу более развернуто, что ли.

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

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

но второй закон термодинамики, сцк, такую возможность отрицает.

olelookoe ★★★
()
Ответ на: комментарий от ya-betmen

твой веб-сервер формирует на хосте файлик для крона. На целевой машинке каждые n секунд/минут/часов из крона отрабатывает rsync скачивая себе файлик.

Не обязательно скачивать, можно примонтировать каталог для крона через nfs/sshfs/webdav/…

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

Есть спринг приложение с веб интерфейсом.

в спринге есть свой крон и, наверняка, есть к нему гуй :)

вон, если на кварце сделать, то вот к нему гуй https://github.com/fabioformosa/quartz-manager

aol ★★★★★
()
Последнее исправление: aol (всего исправлений: 1)