LINUX.ORG.RU

чем сделать планировщик запуска функции

 


1

1

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

Собственно сабж. Чем сделать периодический запуск кода под C++/Qt? QTimer? Или он точно такой же страшный как cron и лучше пользоваться чем-то стороним?

Навеяно это тем что почитал на просторах интернетов что QtSCXML как стейт машина медленее в 4800 раз! чем аналогичное на Plain C++ из-за постоянной работы с JavaScript внутри, в то время как C++ с сигналами слотами в 10 раз, а QEvents в 100 что по сути прилично.

★★★★★

читал в новостях что cron очень плохой потому что постоянно считает таймер

Э-э-э? А как оно по твоему работать должно? Использовать libastral?

anonymous
()

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

Есть fcron, который не читает все кронтабы каждую минуту, а читает один раз а потом считает у себя таймер и дёргает закэшированные задачи. Но это тоже плохо, потому что при старте может быть некорректное время, а об обновлениях fcron узнать не сможет — он уже всё закэшировал и его нужно перезапускать.

Чем сделать периодический запуск кода под C++/Qt?

Если графический или прочий интерактивный, то ничем. Для остального есть cron, а в Linux есть ещё и таймеры systemd.

такой же страшный как cron

Ну что за бред? Это всё маркетинговый bullshit для пропихивания systemd как замену crond. Vixie-cron работает даже на лютом embedded и никто даже не чешется его менять, тогда как systemd туда не влезет.

mord0d ★★★★★
()

Чем сделать периодический запуск кода под C++/Qt?

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

Насчет крона - полностью согласен с mord0d, скорее всего, подобное, не более чем маркетинговый ход для продвижения systemd timer, например, в качестве альтернативы.

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

QTimer запускает кусок кода внутри приложения. А крон запускает скрипты. Это небо и земля. И тут уже упомянули, что есть systemd таймеры и крон уже deprecated.

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

крон уже deprecated

С чего это вдруг? Как минимум обобщенно такого точно не стоит говорить. Но я и в системах с systemd такого не слышал. Можно ссылку, где cron deprecated объявлен?

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

Мейнстрим дистрибутивы уже на systemd. А в нём есть свои методы реализации таймеров. Вроде sd даже умеет парсить файл конфигов крона и выполнять за него работу.

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

Мейнстрим дистрибутивы уже на systemd. А в нём есть свои методы реализации таймеров.

И что? Крон deprecated вроде официально никто не объявлял (не слышал такого, почему и спросил).

Stack77
()
Ответ на: комментарий от anonymous

Я именно за дистры с systemd по умолчанию просил уточнить. То что Крон, как и ядро Линукс используется повсеместно, а не только на сборках под x86 и так понятно. Просто, думал может чего не знаю и Крон реально deprecated официально объявили.

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

Это линукс. Здесь нет одного главного. Но стремительное внедрение sd говорит само за себя.

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

Лучше себе посоветуй вернуться в реальный мир из манямирка. Это ж надо было так упороться, чтобы генту в мейнстрим записать. Вообще с чем ты споришь? Что в убунте, дебиане, красной шапке стоит sd? Или что перечисленные выше дистрибутивы мейнстрим? Что? Перестань траллить.

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

Вообще с чем ты споришь?

С тобой. Я не знал, что ты - «что».

anonymous
()
Ответ на: комментарий от Stack77

Я тоже за системд. Много у нас с тобой общего!

Владимир

anonymous
()

Давно читал в новостях что cron очень плохой потому что постоянно считает таймер

Во-первых, разных кронов много. Во-вторых, что значит «считает таймер» и чем это плохо? В-третьих, как бы плохо он там что не делал, для крона это приемлемо.

Или он точно такой же страшный как cron

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

почитал на просторах интернетов что QtSCXML как стейт машина медленее в 4800 раз!

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

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

Это значит всего лишь что реализация крона перенесена в systemd (и то только в дистрибутивах где последний используется). Cron как концепция не deprecated и быть не может. А реализация пользователя никак не касается, так что не надо вводить людей в заблуждение.

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

Крон это название конкретного демона. И его выкинули на помойку истории. То что sd умеет читать конфиги крона дело не меняет. Это было сделано ради совместимости, чтобы сгладить переход. Думаю, в будущем и это выкинут из sd. Ибо конфиг крона не выразительный в отличии от сервисов и таймеров sd.

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

Крон это название конкретного демона

Это не название конкретного демона, потому что разных кронов дофига.

Ибо конфиг крона не выразительный в отличии от сервисов и таймеров sd.

Вкусовщина. Есть плюсы и минусы.

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

чем сделать планировщик запуска функции

Посрать мне и жопу вытереть на этот планировщик. Пиши по делу, не флуди больше.

Владимир

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

Предупреждать больше не буду. Жопу об тебя вытеру.

Да тебе к проктологу походу надо. Причём срочно. Засиделся на ЛОРе походу и «отрастил» себе что то лишнее.

anonymous
()
Ответ на: комментарий от Suigintou

Заброшено давно.

Не заброшено, а в улучшениях не нуждается.

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