Есть тестовое задание по написанию парсера, в конце нужно будет поставить его на крон и чтобы он соответственно запускался по времени.
Указано будет плюсом если при реализации сделать так:
Запуск парсинга осуществляется не по cron’у, а демоном.
Объясните как это демоном ?
Возможно я правильно понимаю и этот вопрос лишний вообще, или вообще это тупой вопрос, но я готов к тупым ответам :D
В общем как я это понимаю, у меня есть проект с парсерами и там на Yii Queue всегда запущена команда queue/listen и как только в очереди появляется новый таск он его запускает.
Может это и есть запуск через демона ? Объясните пожалуйста как правильно это трактовать
Пашенька, да это понятно что это программа. Я не думаю что мне нужно писать программу для запуска парсера по крону, которая будет всегда висеть в процессах.
Владислав, написано же, что заказчику будет предпочтительнее, если парсер будет запускаться демоном, а не кроном. Не надо никакую программу-враппер для этого писать.
Запуск парсинга осуществляется не по cron’у, а демоном.
Лучше уточнить у того, кто это писал. Cron - неожиданно тоже демон, который что-то запускает по расписанию. Писать свой cron - странная хотелка. Быть может предполагается, что скрипт будет постоянно висеть в памяти и запускать парсинг время от времени - но тоже странное решение.
А вот создать systemd unit более здравое решение, но из запроса это не понятно.
Уточняйте, гадать не нужно.
Vitsliputsli, я правильно понял вы про это: https://4te.me/post/systemd-unit-ubuntu/
написать на пыхе скрипт который будет будет всегда запущен при старте системы. И чекать каждую секунду, можно ли запустить парсер или нет, если да то запускаем
Могут быть две вполне объективные причины писать свой крон:
1. Хочется запускать задачи по расписанию, в котором квант времени меньше минуты.
2. Хочется скрыть всю эту деятельность от администратора системы.
Adamos, при кванте меньше минуты, уже нет смысла дёргаться, а лучше работать постоянно. Если очень хочется, есть systemd timers. Нет смысла изобретать велосипед.
По сокрытию тоже странновато, разрешать демонов и запрещать cron, хотя капризы могут быть разные.
Владислав, типа того, они ещё и в виде timers бывают, о чем выше уже писали.
Но я бы уточнил. Когда соискатель задаёт вопросы - это хорошо, значит заинтересован сделать то, что нужно, а не "я так понял ТЗ".
под демоничность возможно понимается:
1. что запущенная прога сама форкает себя в отдельный процесс и завершает основной процесс, продолжая работать в памяти.
2. что прога запускается через менеджера сервисов или загрузки init.
т.е. прога постоянно висит в памяти и отслеживает какие-то источники или изменения в них, после чего самостоятельно запускает парсилку данных.
Это означает, что в памяти висит некая часть программы, которая запускает вторую часть программы при наступлении некоего события. Крон - это тоже - внезапно - демон!
Что имел в виду работодатель лучше уточнить у него.
ИМХО есть два варианта:
1. программа прописывается в качестве демона любым образом в системе, является постоянно запущенным процессом и использует свой собственный планировщик.
2. программа прописывается в качестве демона и в качестве планировщика использует systemd.
Оба варианта формально подходят под указанные критерии.