У меня есть PHP-скрипт для вывода пользовательских данных из стороннего источника и сбрасывания его в локальную таблицу, которую я хочу выполнить каждые X минут при входе пользователя в систему, но это требуется около 30 секунд для запуска, что я не хочу, чтобы пользователь испытывал. Я полагал, что лучшим способом сделать это будет отметка времени каждой успешной попытки, а затем поместить некоторый код в каждый нижний колонтитул страницы, который проверяет последнее нажатие и выполняет PHP-скрипт в фоновом режиме, если это было больше, чем X минут назад.PHP-страница для выполнения фонового процесса
Я не хочу использовать задание cron для этого, поскольку для выполнения сценария выталкивания необходимы переменные глобального и сеанса, характерные для пользователя.
Я вижу, что popen() позволит мне запустить PHP-скрипт, но я не могу найти никакой информации о том, будет ли он запускаться как посетитель в рамках их сеанса (и, следовательно, с доступом к пользовательские глобальные или сеансовые переменные) или как отдельный сеанс в целом.
- Будет ли popen() решить мою проблему?
- Я собираюсь сделать это правильно или есть лучший способ выполнить скрипт с интервалом во время входа пользователя в систему?
Любая помощь или совет очень ценится, как всегда!
Приветствия
Энди
Отдельный процесс - это отдельный сеанс. Скорее всего, легче загрузить сессию в скрипт (полностью зависит от кода и управления сеансами) или просто передать JSON (или сериализованный массив) с информацией в качестве аргумента для процесса. –
Какова причина того, что вам нужно выполнить этот код каждые X минут, когда пользователь вошел в систему? Что делает код? – Sherif