У меня есть очередь задач, каждая из которых может/займет некоторое время. Задача выполняется с использованием сценария bash и нескольких параметров. Когда пользователь запускает эту задачу, он должен иметь возможность контролировать состояние (и, следовательно, выход) этой задачи. Для этого вывод должен храниться в базе данных, а пользовательский интерфейс извлекает текущий вывод.PHP выполняет скрипт bash, перенаправляет вывод в базу данных
Как я могу лучше всего запустить fetch.sh
, чтобы каждая строка вывода была вставлена в базу данных, и не только после завершения скрипта?
Будет что-то вроде этой работы?
shell_exec("./script.sh | while read -r line ; do
sqlite "insert into history (str) values ("$1");
done &> /dev/null &")
Каким образом fetch.sh получает свои параметры/инструкции из вашего приложения? Я думаю, fetch.sh - это работа cron? Таким образом, он все равно должен запрашивать базу данных, не так ли? – Gerfried
Как я называю это из моего кода сервера в PHP, действительно ли это имеет значение? Я извлекаю параметры в PHP и передаю их. – Niels