как запустить прогу\скрипт и не ждать завершения?

Статус
В этой теме нельзя размещать новые ответы.

just_guest

Новичок
ну я к тому что эксек, сустем, попен итп привыкли ждать завершения проги\скрипта и потом передовать хню основному скрипту, после чего тот продолжает работу.
и проблемка совсем проста,- запустить прогу\скрипт и не ждать завершения, как осуществить?
крон не подходит ибо имя исполняемого скриптп\проги генерируется в скрипте="демоне" крый постоянно вертится на серваке.
 

WMix

герр M:)ller
Партнер клуба
Пальцы веером небось были, когда писал?
А че крон скрипт не может читать команду из базы, а серверный скрипт туда писать?
 

just_guest

Новичок
@WMix, ага пишу о том чего не знаю с гордостью))))))))))))))
допустим такая ситуация:
есть скрипт alfa.php который крутится постоянно в нём неким замысловатым образом генерируются нужные для запуска проги\скрипты.
чтобы получить имя нужного для запуска скрипта нужно запустить другую копию бесконечного скрипта. но произойдёт сбой ибо alfa.php постоянно конектицца к базе sqlite и меняет там всякое. создав копию бд имя скрипта для запуска изменится, те запустится другая прога.
те имя получить вне alfa.php невозможно.
крон не выход тк счёт идёт на милисекунды, которые иногда передаются как параметр. ну ок этим можно принебречь, но десятыми долями (точнее 0.2с) неприодалимая роскошь...

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

fixxxer

К.О.
Партнер клуба
а демон это не код, что ли?

Для такого всегда используют очереди + обрабатывающий демон. Очередь может быть в базе, может быть в redis, может быть в специализированном сервере очередей типа beanstalkd
 

just_guest

Новичок
@fixxxer, не совсем понял тк с кроном работал мало,- чисто в рамках поисковика, и с целью снижения нагрузки...
опять фак читать(((

можно пример крон задачи?
но всё же у меня смутные сомнения что счёт будет идти на секунды...
 

Фанат

oncle terrible
Команда форума
Дружочек.
Можно тебя попросить не флудить своими глубокомысленными комментариями в других темах?
Спасибо.
 

fixxxer

К.О.
Партнер клуба
А я не про крон, я про демон.
Демон запускается инит-системой (или супервизором, если у тебя вместо нормальной инит-системы допотопная фигня на шелл-скриптах).
Впрочем если у тебя говнохост и нет рута на сервер - крон может просто раз в минуту убеждаться, что демон не упал, и если упал запускать заново, будет такой вот хреновый супервизор нищеброд-едишен.

Для примера посмотри, как это сделано в laravel
https://laravel.com/docs/5.2/queues
 

just_guest

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

Для примера посмотри, как это сделано в laravel
https://laravel.com/docs/5.2/queues
собственно говоря таким едишном и пользуюсь((( думал мб есть что нить получше...
 

AmdY

Пью пиво
Команда форума
Чёт вы намутил, чуваку вроде достаточно просто пускать скрипт в фоне, добавив к команде &
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху