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

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

just_guest

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

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

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

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

Для примера посмотри, как это сделано в laravel
https://laravel.com/docs/5.2/queues
 
А я не про крон, я про демон.
Демон запускается инит-системой (или супервизором, если у тебя вместо нормальной инит-системы допотопная фигня на шелл-скриптах).
Впрочем если у тебя говнохост и нет рута на сервер - крон может просто раз в минуту убеждаться, что демон не упал, и если упал запускать заново, будет такой вот хреновый супервизор нищеброд-едишен.

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

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