С Новым годом! Форум программистов, компьютерный форум, киберфорум
Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
В экстазе
 Аватар для wolfalone
168 / 152 / 38
Регистрация: 05.08.2012
Сообщений: 767
Записей в блоге: 3

Планировщики в Linux/Unix

30.10.2017, 16:22. Показов 1588. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток уважаемые!

Думаю, что все в курсе, про такие вещи как cron и at... По этому, перейду сразу к вопросу, без вступительной части.

Когда нам нужно запланировать разовое задание, не нарушая работоспособность других заданий - в at для этой цели есть всё необходимое: at, at -l, at -d и так далее. С ним вопросов нет и всё отлично.

Но, в некоторых случаях, нам нужно запланировать задание на постоянной основе (т.е. не разово), и тут нам нужен cron... С которым возникает ряд непонятных для меня моментов: у cron'а нет чего-то вроде cron --add params... есть вариант записывать задачи в /var/spool/cron, но с этого момента возникает ряд других непонятных пока для меня вещей, например, если сейчас 16:30.00 и в файле записана задача на 16:30, а мы в этот самый момент перезаписываем файл... задача успеет запуститься или нет? А если сейчас 16:30 и мы добавим задачу на 16:30 - она запустится или нет? и так далее, таких неясных моментов довольно много и оттестировать их все, за какой-то разумный срок к сожалению, для меня не представляется возможным.

Собственно, вопрос заключается в одном из двух:
а) Можно ли где-то найти подробности по всем тонкостям работы CRON'а или "как правильно записывать файл(ы) с задачами" или что-то в таком духе, что бы полностью понимать и контроллировать поведение CRON'а?
б) Возможно есть какой-нибудь пул, который решает эти задачи? Т.е. некоторая обёртка над CRON'ом или какой-то другой планировщик, который работает по такому же принципу как CRON, но имеет готовый механизм очередей (как at)?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.10.2017, 16:22
Ответы с готовыми решениями:

Хорошая литература по Unix/Linux
Сюда складываем хорошие ссылки по юниксам. Не повторяемся! Примерно так : Энциклопедия сетевого администратора Linux Энциклопедия...

Посоветуйте linux или unix
Посоветуйте какую лучше установить ос unix или linux.Нужна для начального обучения самой ОС и программирования на С++ .

Вожможно ли юзать базу Access под Unix или Linux
Moжно попробовать через UNIX-odbc() эта штука подключается к OpenOffice.org. Вообще через OpenOffice можно работать с БД ...

17
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
30.10.2017, 19:16
Цитата Сообщение от wolfalone Посмотреть сообщение
если сейчас 16:30 и мы добавим задачу на 16:30
Какой практический смысл в Вашем вопросе/знании?
Цитата Сообщение от wolfalone Посмотреть сообщение
нет чего-то вроде cron --add params... есть вариант записывать задачи в /var/spool/cron
Слышали про crontab? anacron?
0
В экстазе
 Аватар для wolfalone
168 / 152 / 38
Регистрация: 05.08.2012
Сообщений: 767
Записей в блоге: 3
30.10.2017, 19:26  [ТС]
Цитата Сообщение от Marinero Посмотреть сообщение
Какой практический смысл в Вашем вопросе/знании?
Практический смысл заключается в том, что мне нужно программно управлять заданиями, коих может быть 500+ одновременно и я хочу понимать, в какой момент (и почему) что-то может пойти "не так" (как ожидалось).

Цитата Сообщение от Marinero Посмотреть сообщение
Слышали про crontab? anacron?
Да, crontab - программа для редактирования заданий cron'а, которая мне не подходит, т.к. планировщиком нужно управлять программно, а не "руками" и/или с помощью текстового редактора.

anacron - полезная штука, но это нужно будет "потом". Первоочердная задача - настроить запуск задач по расписанию, т.е. с точным указанием времени, с точностью хотя бы до минуты (хотя в идеале было бы - до секунды). Ну и задача "нулевого уровня" - обеспечить программную корректировку очереди заданий. Как пример, подобным функционалом обладают некоторые панели управления для серверов, хотя я не уверен, что их разработчики сильно заботились о вопросах, которые волную меня...
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
30.10.2017, 19:54
Цитата Сообщение от wolfalone Посмотреть сообщение
программа для редактирования заданий cron'а, которая мне не подходит, т.к. планировщиком нужно управлять программно, а не "руками" и/или с помощью текстового редактора
Расшифруйте, потому как смысл фразы потерялся в заумностях типа «управлять програмно», «корректировка очереди», … Можно подробнее? На примерах?
0
В экстазе
 Аватар для wolfalone
168 / 152 / 38
Регистрация: 05.08.2012
Сообщений: 767
Записей в блоге: 3
30.10.2017, 21:31  [ТС]
Цитата Сообщение от Marinero Посмотреть сообщение
Можно подробнее?
Конечно! Программно - у нас есть некая программа (давайте, для примера это будет - панель управления сервером, на подобии ISPManager, CPanel, Vesta CP и т.п.). Эта программа (пусть будет, написанная на Python) собирает данные из БД и на их основании должна строить список задач. Задач может быть довольно много (больше привычного многим кол-ва), и 500 и 1500 и 5500 и т.д.

В какой-то момент времени (в результате наступления какого-то события) список задач может изменится, т.е. какая-то задача может добавиться или удалиться. И, соответственно, добавление/удаление задачи должно происходить программно, например, с помощью python-скрипта, при этом, удаление/добавление одной задачи - никак не должно влиять на другие (ранее добавленные задачи).

Для реализации такого механизма, я вижу единственное решение: редактирование файла /var/spool/cron/файл_заданий.

P.S. Да, я видел, что например на этой странице (она одна из первых при поиске по слову "cron" в Google), написано:
Нельзя изменять файл расписания, просто открыв его в текстовом редакторе. Для его редактирования необходимо использовать команду crontab -e.
Но, других вариантов, кроме как отредактировать файл заданий CRON'а - я не вижу. И если исхитриться с именованием задачи я ещё как-то могу, например, оперируя данными "время запуска", "команда" и т.д. То вот как быть с вопросами того, что файл будет перезаписываться и как на эту перезапись будет реагировать CRON - не понятно. Довольно сложно сэмулировать все возможные расклады перезаписи этого файла (и последствия этих перезаписей) в условиях реальной работы сервера...

Добавлено через 17 минут
Нельзя изменять файл расписания, просто открыв его в текстовом редакторе. Для его редактирования необходимо использовать команду crontab -e.
Ещё раз возвращаясь к этой цитате - есть подозрение, что нельзя редактировать файл не по тому, что его "нельзя редактировать" в прямом смысле, а по тому, что некоторые текстовые редакторы - пересоздают файл, а файл заданий должен перезаписываться, а не пересоздаваться (с чем это связано - сказать к сожалению не могу, но где-то натыкался на подобную информацию). Возможно, это связано с тем, что CRON использует inotify (это всё на уровне моих предположений)...

Наверняка, ответы на многие из этих вопросов, можно было бы получить детально изучив исходники CRON'а, но боюсь, что на такие "подвиги" у меня не хватит ни текущих знаний, ни времени на их восполнение. По этому, хотелось бы найти какой-то более простой способ, ведь наверняка, кто-то уже неоднократно задавался подобными вопросами или сталкивался с подобными "проблемами".
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
30.10.2017, 21:58
Цитата Сообщение от wolfalone Посмотреть сообщение
если сейчас 16:30 и мы добавим задачу на 16:30 - она запустится или нет?
нет (сегодня - нет, завтра - да)
Цитата Сообщение от wolfalone Посмотреть сообщение
файле записана задача на 16:30, а мы в этот самый момент перезаписываем файл... задача успеет запуститься или нет?
крон считает тот файл, который будет в момент его запуска
вообще, это вопрос не к крону, а к файловой системе и ее механизму перезаписи файла
Цитата Сообщение от wolfalone Посмотреть сообщение
нельзя редактировать файл не по тому, что его "нельзя редактировать" в прямом смысле, а по тому, что некоторые текстовые редакторы - пересоздают файл, а файл заданий должен перезаписываться
какойтооколонаучныйбред
и кстати, его можно редактировать
Цитата Сообщение от wolfalone Посмотреть сообщение
в идеале было бы - до секунды
у крона можно только "приблизительно минуты".
Цитата Сообщение от wolfalone Посмотреть сообщение
как правильно записывать файл(ы) с задачами
в /etc/crontab в строке пишется
Code
1
шаблон_времени логин_юзера команда_на_выполнение
в конце файла обязательна новая строка
Цитата Сообщение от wolfalone Посмотреть сообщение
программную корректировку очереди заданий
кто в списке задач первый, тот первым и будет запущен. причем, если, допустим, в строке с (например) 5-м заданием ошибка, то последующие задания выполнены не будут
1
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
30.10.2017, 22:10
Цитата Сообщение от wolfalone Посмотреть сообщение
других вариантов, кроме как отредактировать файл заданий CRON'а - я не вижу
Проблема в том, что Вы упрямо не хотите делать «как принято», а хотите чтоб было так как Вы представляете, при чем, извините, такое Ваше «представление» зачастую неправильное. Дело не в «исходниках крона», а в попытке подогнать «устав чужого монастыря» под себя.
Покажу на примере:
Цитата Сообщение от wolfalone Посмотреть сообщение
рограмма (пусть будет, написанная на Python) собирает данные из БД и на их основании должна строить список задач. Задач может быть довольно много (больше привычного многим кол-ва), и 500 и 1500 и 5500 и т.д.
Почему этот список не может быть в виде обычного текста в формате понимаемом cron? Все что остается это применить данный список:
Bash
1
crontab -u <user_name> file.spisok
Цитата Сообщение от wolfalone Посмотреть сообщение
удаление/добавление одной задачи - никак не должно влиять на другие (ранее добавленные задачи)
для этого стоит прочитать существующий список и записать его в новый формируемый
Bash
1
crontab -u <user_name> -l >old.spisok
Теперь остается только его добавить в file.spisok с новыми заданиями.
1
В экстазе
 Аватар для wolfalone
168 / 152 / 38
Регистрация: 05.08.2012
Сообщений: 767
Записей в блоге: 3
30.10.2017, 22:13  [ТС]
Dmitry, спасибо! По некоторым вопросам Вы меня посвятили!

Цитата Сообщение от Dmitry Посмотреть сообщение
какойтооколонаучныйбред
и кстати, его можно редактировать
ну... я основываюсь на том, что пишут авторы wiki, полагаясь на то, что они в вопросе должны разбираться лучше меня.

Цитата Сообщение от Dmitry Посмотреть сообщение
в /etc/crontab в строке пишется
С этим вопросов в целом нет. Вопрос скорее в том, что будет, если например, у нас стоит задача на 16:30.00, а в 16:30.01 (16 часов, 30 минут, 01 секунду) мы перезапишем файл и это задание будет удалено - оно успеет запуститься на выполнение или нет? Или как будет себя вести CRON когда мы перезаписываем файл? Сработают ли LOCK'и на файл? Пока файл "залочен" будут активны предыдущие задания?

Иными словами, я хочу добиться некоей "транзакционной целостности" файла с cron-задачами. Точнее, я хочу добиться хотя бы этого. Под "транзакционной целостью" я подразумеваю то, что пока файл не будет полностью перезаписан и закрыт (программой которая открыла его на запись) - список задач, записанный в этот файл ранее - изменяться не должен. То есть, нужно на 100% избежать случаев чтения недописанного (не закрытого) файла и прочих ситуаций, при которых список задач может измениться частично. Даже в тех случаях, если файл с задачами будет записываться 10 минут (гипотетическая ситуация).
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
30.10.2017, 22:20
Цитата Сообщение от wolfalone Посмотреть сообщение
например, у нас стоит задача на 16:30.00, а в 16:30.01 (16 часов, 30 минут, 01 секунду) мы перезапишем файл и это задание будет удалено - оно успеет запуститься на выполнение или нет? Или как будет себя вести CRON когда мы перезаписываем файл? Сработают ли LOCK'и на файл?
Ваши вопросы не имеют практической ценности. Научитесь ставить проблему, а не спрашивать о «кривых» путях аоображаемых Вами реализациях.
Все что запустилось — отработает. Изменение файла это ещё не все, программа должна его «перечитать», что выполняется примерно раз в минуту.
0
В экстазе
 Аватар для wolfalone
168 / 152 / 38
Регистрация: 05.08.2012
Сообщений: 767
Записей в блоге: 3
30.10.2017, 22:26  [ТС]
Цитата Сообщение от Marinero Посмотреть сообщение
Дело не в «исходниках крона», а в попытке подогнать «устав чужого монастыря» под себя.
На самом деле, это не совсем так, просто я не нашел в документации и прочем чтиве подобного рода (наверное плохо искал) вариантов, как это нужно делать "правильно". Я с удовольствием сделал бы "как правильно", если бы нашел "однозначно правильное" решение.

Цитата Сообщение от Marinero Посмотреть сообщение
Почему этот список не может быть в виде обычного текста в формате понимаемом cron? Все что остается это применить данный список
это очень похоже на тот вариант, который меня бы вполне устроил. Но тут остаётся открытым один важный вопрос: если время выполнения команды:
Bash
1
crontab -u <user_name> file.spisok
совпадёт со временем выполнения задачи - не случиться ли ситуации, которая описывалась выше, а именно:
Цитата Сообщение от Dmitry Посмотреть сообщение
нет (сегодня - нет, завтра - да)
то есть, не сочтёт ли CRON, что эта задача "на завтра", если она была в старом списке задач, до
Bash
1
crontab -u <user_name> file.spisok
и время задачи и она же (в не измененном виде) остаётся в новом списке задач? При условии того, что время выполнения команды:
Bash
1
crontab -u <user_name> file.spisok
и время задачи - совпадают?
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
30.10.2017, 22:33
Цитата Сообщение от wolfalone Посмотреть сообщение
стоит задача на 16:30.00, а в 16:30.01 (16 часов, 30 минут, 01 секунду) мы перезапишем файл и это задание будет удалено
файл кронтаба считывается весь (целиком) в момент запуска крона на исполнение. последующее внесение изменений в кронтаб он увидит лишь в момент своего следующего запуска в 16:31
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
30.10.2017, 22:35
Цитата Сообщение от wolfalone Посмотреть сообщение
не сочтёт ли CRON, что эта задача "на завтра"
Я уже ответил на этот вопрос
Цитата Сообщение от Marinero Посмотреть сообщение
Все что запустилось — отработает
0
В экстазе
 Аватар для wolfalone
168 / 152 / 38
Регистрация: 05.08.2012
Сообщений: 767
Записей в блоге: 3
30.10.2017, 22:46  [ТС]
Цитата Сообщение от Marinero Посмотреть сообщение
Все что запустилось — отработает
Это я понимаю, я не понимаю, что будет с тем, что ещё не запустилось? Или CRON сначала выполняет все задачи, а потом перечитывает файл (перезаписывать очередь)? Вот этот момент мне не понятен... Как оно работает "внутри" CRON'а? Допустим, мы выполняем команду:
Bash
1
crontab -u <user_name> file.spisok
, а в этот же самый момент CRON уже выполняет какой-то набор команд. По какому алгоритму это обрабатывается внутри CRON'а? Он сначала выполнит полностью всю очередь, которая уже есть, а потом запишет новую? Будет ли очередь записана полностью, перед началом выполнения?
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
30.10.2017, 22:56
Все задания выполняются по очереди. Настал срок, запустились задания. Пока полностью не перечитался файл, действует старый. Если происходит чтение (длительное), то естественно другие задания не запускаются. Если в это время настал у какого-то задания срок — оно не запустится. Все по очереди.
Только извините за прямоту, спрашиваете Вы не о том. Вы у себя в голове сложили какой-то план и упрямо «втискиваетесь» в него. А судя по вопросам ведет он совсем не туда.
Цитата Сообщение от Marinero Посмотреть сообщение
Научитесь ставить проблему, а не спрашивать о «кривых» путях воображаемых Вами реализаций
0
В экстазе
 Аватар для wolfalone
168 / 152 / 38
Регистрация: 05.08.2012
Сообщений: 767
Записей в блоге: 3
30.10.2017, 23:33  [ТС]
Цитата Сообщение от Marinero Посмотреть сообщение
Вы у себя в голове сложили какой-то план и упрямо «втискиваетесь» в него. А судя по вопросам ведет он совсем не туда.
Мне кажется это не совсем так, но спорить не буду.

Основная задача, которую я пытаюсь решить в первую очередь, выглядит примерно так:
У нас есть некий набор задач, загруженный в CRON, условно он загружен командой
Bash
1
crontab -u <user_name> file.spisok
. Далее, настало некоторое событие и нам нужно перезагрузить очередь заданий, той же командой. Для примера - файл с новыми задачами читается 10 минут (дисковая система перегружена, а файл с задачами занимает 1Гб, исключительно как пример). Мне нужно добиться того, что бы старый список задач выполнялся, не зависимо от того, какие задачи мы загружаем в данный момент (большая часть задач - те же, что были, какая-то часть новых задач и т.д.) и не зависимо от того, когда мы инициировали процесс загрузки нового списка задач. То есть, если в старом списке были какие-то задачи попавшие на время загрузки файла (на те 10 минут, про которые мы говорили выше, во время которых загружаются новые задачи в очередь) - они должны выполниться.

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

Если загрузка файла (задач/очереди) началась в 10:10 и закончилась в 10:20, при этом в списке новых задач, была задача N запланированная на 10:15 и она не выполнится сегодня - это не проблема. Проблема в том, что если в старом файле задач (который был загружен в 10:00, например) была задача на 10:15 - её выполнение не должны быть прервано, т.е. она должна быть выполнена не зависимо от прочих факторов.

Именно это я пытаюсь решить в первую очередь, любым "правильным" способом. То есть, я не пытаюсь это решить каким-то "исключительно своим" способом. Я пытаюсь понять, как это решать правильно?
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
30.10.2017, 23:57
Цитата Сообщение от wolfalone Посмотреть сообщение
что бы старый список задач выполнялся, не зависимо от того, какие задачи мы загружаем в данный момент
повторюсь - список задач (ЦЕЛИКОМ) крон считывает во время своего запуска. он не читает его типа "считал из файла задание 1, выполнил, считал из файла задание 2, выполнил, считал из файла задание 3 и т.д..."

все остальные ваши вопросы - они уже к файловой системе, как она выполняет перезапись файла. например про ext4 попалась такая инфа:
often the following idiom is preferred:
Code
1
fd=open("file.new"); write(fd, data); close(fd); rename("file.new", "file");
1
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
31.10.2017, 11:01
Цитата Сообщение от wolfalone Посмотреть сообщение
файл с новыми задачами читается 10 минут (дисковая система перегружена, а файл с задачами занимает 1Гб, исключительно как пример). Мне нужно добиться того, что бы старый список задач выполнялся, не зависимо от того, какие задачи мы загружаем в данный момент (большая часть задач - те же, что были, какая-то часть новых задач и т.д.) и не зависимо от того, когда мы инициировали процесс загрузки нового списка задач. То есть, если в старом списке были какие-то задачи попавшие на время загрузки файла (на те 10 минут, про которые мы говорили выше, во время которых загружаются новые задачи в очередь) - они должны выполниться.
1. Почему Вы «уперлись» именно cron? Список задач на 1Gb это не совсем по его профилю
2. Почему не запланировать обновление списка на время, когда не запланировано задач?
3. …
Вопросов будет миллион, Вы будете на них отвечать и придумывать новые ограничения и так без конца, пока Вы наконец не объявите что именно Вы «сооружаете» и сразу появится абсолютно иной способ решения без cron`а и т.д.
0
В экстазе
 Аватар для wolfalone
168 / 152 / 38
Регистрация: 05.08.2012
Сообщений: 767
Записей в блоге: 3
31.10.2017, 12:19  [ТС]
Цитата Сообщение от Marinero Посмотреть сообщение
Почему Вы «уперлись» именно cron? Список задач на 1Gb это не совсем по его профилю
На самом деле я не упёрся в CRON, я с радостью готов рассмотреть любой другой планировщик задач, работающий по тому же принципу что и CRON (обладающий аналогичным функционалом и способный выполнять задачи на многоразовой основе), а если он бы ещё и поддерживал очереди задач в 1Gb, и нумерацию задач и возможность корректировать каждую отдельную задачу в очереди (как например это делает at) - я бы с радостью предпочёл его. Но, на данный момент такого планировщика мне найти не удалось.

Цитата Сообщение от Marinero Посмотреть сообщение
Почему не запланировать обновление списка на время, когда не запланировано задач?
Дело в том, что в этом случае - обновление списка задач тоже придётся "запланировать", а заранее предсказать, на какое именно время задач не будет - невозможно, особенно с учётом их потенциального количества (тысячи и возможно даже десятки тысяч).

Цитата Сообщение от Marinero Посмотреть сообщение
Вопросов будет миллион, Вы будете на них отвечать и придумывать новые ограничения и так без конца, пока Вы наконец не объявите что именно Вы «сооружаете» и сразу появится абсолютно иной способ решения без cron`а и т.д.
Что я сооружаю: пытаюсь соорудить планировщик заданий, точнее пытаюсь приспособить готовый планировщик задач, который бы умел:
1. Выполнять задачи циклически, с определенным интервалом времени. Например, "каждые 5 минут", или "в полночь каждого воскресенья" или "в 17:00 15 числа каждого месяца". То есть, так же, как это делает CRON.
2. Мог бы обрабатывать очень большие (для примера, пусть это будет 1Гб файл) наборы заданий, не "ломаясь" при этом
3. В идеале было бы, если бы этот планировщик имел нумерацию заданий, примерно такую же как имеет at и возможность удалять/добавлять одну задачу по её номеру.

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

Пример задачи (абстрактный):
Если сервер N упал - отправлять сис. админу SMS'ки каждые 5 минут, пока сервер снова не заработает.

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

Если кто-то работал с БД PostgreSQL - в ней есть такой механизм как MVCC. Который позволяет иметь одни и те же данные в нескольких версиях одновременно. Если очень кратко и упрощённо - его смысл в том, что можно и читать и изменять данные одновременно и на уровне одной транзакции ни при каких условиях не будет данных в промежуточном состоянии, даже если одна транзакция читает какие-то данные, а другая их в это время удаляет. При этом - мы можем добавлять новые записи и получать уникальный идентификатор каждой из них.

Именно такого поведения я хочу добиться от планировщика задач, способного выполнять задачи циклически, по расписанию, так же как это делает CRON. При этом, не зависимо от размера новой очереди (которую мы будем загружать, т.к. нумерованных заданий в CRON'е я не нашел) - до её полной загрузки, эта операция никак не должна "ломать" старую очередь. В частности, если у нас 100.000 заданий, мы изменили одно и перезагружаем всю очередь - из-за этого не должны поломаться предыдущие 99.999 которые совпадают в старой и новой очереди заданий.

Если бы этот планировщик ещё имел и возможности логически близкие к планировщику at или базам данных, позволяя добавлять/удалять одну задачу, не перезагружая всю очередь и не "ломая" её - это было бы вообще отлично.

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

Если есть какой-то более подходящий для этого способ решения, например какой-то другой планировщик... - я с радостью рассмотрю любой вариант.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.10.2017, 12:19
Помогаю со студенческими работами здесь

Посоветуйте книгу для изучения различий Linux, Unix и Ubuntu
Здравствуйте! Посоветуйте, пожалуйста, книгу для абсолютного новичка в Linux - Unix, который не знает чем отличается Linux от Unix и...

Разметка в Linux жесткого диска для дуалбут MS-DOS и Linux
У меня, значит, на стационарном старичке стоит жесткий на 2 Тб. Win XP такие цифры не знает, а вот видит ли такой обьем linux? ...

Что лучше для сервера сайта Arch Linux или Linux Debian ?
Подскажите пожайлуста что лучше для сервера сайта Arch Linux или Linux Debian ?

Какую версию Linux лучше всего выбрать для начинающего юзера в Linux? И где скачать?
Хотелось бы освоится в Линуксе, какую лучше всего выбрать версию этой ОС и где можно скачать что бы не было вирусов и тд? НАчинающий юзер...

Клиент-серверное приложение linux-linux
Подскажите пожалуйста какие клиент-серверные приложения на линукс есть?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru