Сообщаем браузеру, что я закончил, но продолжаю загружать данные - PullRequest
0 голосов
/ 20 июля 2010

У меня есть php api, доступ к которому осуществляется через Flash.Он захватывает некоторый контент для flash, а затем ведет бухгалтерский учет.Проблема в том, что ведение бухгалтерского учета может занять несколько секунд, и к php api можно получить доступ таким же образом в любом месте от 10-500 раз, прежде чем приложение Flash загрузит из него все.

Смысл, что я использую вспышку для доступа к нему, AJAX не вариант.Я хочу быть в состоянии сообщить Flash URL Loader, что страница была загружена до учета, но мне все равно нужно вести учет.Как этого достичь?Или это может?

1 Ответ

2 голосов
/ 20 июля 2010

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

Есть очередь, в которую вы помещаете свои данные, и фоновый процесс потребляет элементы из очереди, обрабатываякаждый предмет по очереди.Таким образом, вы можете быстро обслуживать запросы к серверу и откладывать обработку для последующей обработки.

Для системы очередей вы можете использовать такие вещи, как rabbitmq или какой-либо другой более простой механизм организации очередей (возможно, таблицу БД).Вероятно, есть тысячи способов справиться с этой автономной обработкой.

Главное - отложить обработку всего, что займет некоторое время и может подождать, пока будет обработано позже.

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