запустить второй экземпляр из PHP и разрешить приостановку в спящем режиме, не генерируя ошибку TIMEOUT? - PullRequest
0 голосов
/ 12 ноября 2011

Все коротко: Необходимо выполнить функцию примерно через 5 минут после запроса, отправленного службой уведомлений Google Checkout.

Почему: для работы с API истории требуется, чтобы транзакция была не менее 5 минут.

То, что было опробовано, приостанавливает работу функции sleep, но выдает ошибку TIMEOUT в конце Google.

Основная проблема: функция должна запускаться, даже если пользователь уходит со страницы, перезагружает страницу, закрывает браузер или выходит из системы с сайта.

Пробовал, гугл но не особо полезен .. Любые идеи ??

1 Ответ

0 голосов
/ 12 ноября 2011

Это звучит как работа для cron. Вот возможный план реализации:

  1. Когда Google отправляет извещение об оформлении заказа, запишите сведения об уведомлении и отметку времени в вашей базе данных.
  2. Настройка скрипта для запуска cron. Сценарий проверит базу данных на наличие новых извещений извещений, которым не менее 5 минут.
  3. Затем сценарий получит доступ к API истории для этих совпадающих записей, а затем пометит эти записи в базе данных, чтобы они не были доступны снова при следующем запуске задания cron.

Задание cron можно настроить для запуска с любым интервалом, который вам нравится. Чем меньше интервал, тем быстрее будут отправляться запросы History API, когда уведомления о проверке достигают 5-минутного возраста. Ваш скрипт cron может записать результат запроса History API в вашу базу данных, чтобы ваш веб-интерфейс мог получить его и показать пользователю.

...