Запуск / остановка php-скрипта в фоновом режиме из браузера

Я довольно новичок в PHP. Это мой первый раз на самом деле, поэтому я заранее извиняюсь, если вопрос звучит глупо.

У меня есть php-скрипт, который извлекает данные из внешнего API и регулярно обновляет мою базу данных. Я знаю, что лучший способ сделать это – использовать работу cron. Тем не менее, я использую бесконечный цикл, который спит в течение определенного времени между каждым обновлением.

Теперь мне нужно разрешить пользователю (администратору) запускать / останавливать сценарий, а также позволять им изменять временной интервал между каждым обновлением. Администратор делает это через пользовательский интерфейс. Каков наилучший способ сделать это? Как выполнить сценарий в фоновом режиме, когда пользователь нажимает кнопку запуска и как остановить сценарий?

Благодарю.

Я думаю, что идеальным решением было бы следующее:

  1. Запускайте фоновое задание как cronjob каждую минуту (вместо цикла, который может вызвать утечку памяти). PHP не был предназначен для демон.

  2. Установите флаг БД в cronjob для включения / выключения, каждый раз, когда он запускается, он проверяет, включено ли оно или нет, если он существует, если он продолжается.

  3. В пользовательском интерфейсе вы включаете или выключаете этот флаг в зависимости от того, что нужно администратору.

Я думаю, что это лучший способ пойти (и самый простой).

Вы можете взглянуть на Threading в PHP -> http://www.php.net/manual/en/class.thread.php

Другой вариант – либо установить SESSION (что немного сложно, так как вы не поймаете его в том же вызове), либо вы создаете файл, который сообщает скрипту о прекращении / выходе / сбое / когда-либо, если этот файл существует ,