powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Фоновый процесс php
5 сообщений из 5, страница 1 из 1
Фоновый процесс php
    #38203273
Alexey Agafonov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.

У меня есть php-скрипт, время выполнения которого 2-4 часа в зависимости от нагрузки сервера. Естественно, выполнять его через браузер нельзя, так как скотпт отваливается по timeout (как, собственно и браузер). Поэтому я еговыполняю через unix-shell командой php <имя файла>. И все отрабатывает.

Вопрос в следующем - как можно из web с породить этот php процесс, который будет выполняться в фоне без timeout-а? В браузере с помощью Ajax буду следить за ходом выполнения. Я нашел 2 варината:

1. Функция exec(). Но основной скрипт, из, которого она вызывается, ждет его завершения, в итоге отваливается по timeout. К тому же, браузер висит и ждет ответа.

2. Функция pcntl_fork(). Она порождает дочерний процесс, но у нее есть timeout.

Может ли многоуважаемый ALL подсказать, как решить мою задачу? Может, у вышеописанных функций есть какие-то параметры, выполняющие эту задачу или есть еще варианты?

Спасибо.
...
Рейтинг: 0 / 0
Фоновый процесс php
    #38203312
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скриптом генерите файлик с заданием, флагом выполнения и еще чем... Скрипт по крону запускайте ежеминутно или пореже... Первым делом проверка на уже запущенный экземпляр, затем чтение задания и выполнение. Если экземпляр уже запущен или нет задания - завершаем работу. Результаты работы (в том числе и промежуточные) писать тоже в файл. Впрочем, вместо файлов можно и БД использовать. Ну а из браузера через скрипты уже взаимодействуйте с этими файлами.
...
Рейтинг: 0 / 0
Фоновый процесс php
    #38203450
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Фоновый процесс php
    #38203538
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrow http://www.php.net/manual/en/function.set-time-limit.php] http://www.php.net/manual/en/function.set-time-limit.php
http://www.php.net/manual/en/function.ignore-user-abort.php] http://www.php.net/manual/en/function.ignore-user-abort.php Случайно закрой браузер и начни все сначала :-)
...
Рейтинг: 0 / 0
Фоновый процесс php
    #38205267
Arhat109
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Agafonov,

насколько помню, exec() умеет запускать процесс асинхронно.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Фоновый процесс php
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]