Запустите (несколько) запрос curl и не ждите ответа (PHP) - PullRequest
1 голос
/ 02 августа 2011

Я хочу запустить набор скриптов PHP (через multi_curl) и не ждать ответа от скрипта вызывающего абонента (200 OK):

У меня есть агрегатор, который выполняет поиск по API-сетям социальных сетей, запрашивая у них сообщения. Когда он получает ответ, он запускает другой поиск сообщений, которые были ранее (пейджинг). Это может занять довольно много времени, и я не хочу заставлять пользователей ждать, пока это не закончится.

Я хотел бы иметь возможность запускать набор сценариев PHP из одного основного сценария, если хотите, в фоновом режиме (multi_curl?), Каждый из которых позаботится о получении всех этих сообщений, каждый сценарий будет иметь свою сеть и ключевое слово для поиска и для. Я хочу, чтобы основной сценарий просто вызывал эти другие сценарии, а затем не ждал, пока они завершатся, и просто распечатал «запросы, запущенные в фоновом режиме» или что-то в этом роде. Он вернет JSON, поэтому он должен будет правильно закрыться и дать 200 ОК.

Как я могу это сделать? Так запустите несколько multi_curls и не ждите их окончания?

Ответы [ 2 ]

1 голос
/ 02 августа 2011

Взгляните на PHP-порт delayy_job Руби.

https://github.com/seatgeek/djjob

0 голосов
/ 02 августа 2011

Я не знаком с вашей конкретной настройкой, но вы можете создать отдельный скрипт, который будет запускать ваши PHP-скрипты в фоновом режиме, используя скрипт bash, подобный этому:

nohup php /path/to/script.1.php &
nohup php /path/to/script.2.php &
nohup php /path/to/script.3.php &

Амперсанд в конце говорит ему запустить скрипт в фоновом режиме. команда «nohup» предписывает игнорировать любой сигнал зависания, обеспечивая выполнение сценария, даже если пользователь выходит из системы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...