Ожидание результата графика API / пакетного API

Как я могу установить не ждать ответа от вызова API?

У меня есть большой пакетный запрос (один зависит от другого), но приложение не требует результатов. Просто скажите "Facebook это сделать" и не ждите ответа.

Как я могу установить не ждать ответа?

2 ответа

Решение

Я был вовлечен в проект некоторое время назад, где мы реализовали очереди для чего-то похожего на это. (Приложение размещало на стенах около 150 страниц, а также собирало некоторые другие данные.

Наше решение было таким:

У нас была таблица очередей, которая была заполнена Джобсом. Они были составлены из параметров, токена и конкретного вызова API Facebook. Таблица также имела столбец состояния, для которого было установлено значение запланировано / успешно / неудачно, столбец ответа и несколько столбцов даты и времени, запланированных и отправленных.

Сценарий, который просматривал запланированные задания, затем выполнял вызовы API и собирал ответ, выполнялся заданием cron с произвольным интервалом.

Само приложение может просматривать таблицу очередей и создавать отчет о выполненных заданиях и их ответах, а также о предстоящих запланированных заданиях.

Я считаю, что вы ищете способ сделать асинхронные вызовы PHP. Вы можете выполнить некоторые запросы самостоятельно, так как я не думаю, что PHP FB SDK поддерживает такие запросы.

Я считаю, что curl_multi (только php5) - это решение, которое вы ищете:

Вы также можете найти этот QA полезным:

Другие вопросы по тегам