Функция очереди без CRON или Shell - PullRequest
0 голосов
/ 03 марта 2012

Я разрабатываю систему с Symfony, в которую встроен модуль уведомлений. Цель сценария - обеспечить широкий диапазон совместимости, и, следовательно, требования исключают cron, root & shell.

В настоящее время система отправляет уведомления при выполнении определенных действий. Например, сделать сообщение, загрузить файл, изменить статус и т. Д. Проблема этого подхода заключается в том, что некоторые действия могут быть очень медленными, если существует значительное количество пользователей с подпиской на уведомления.

Мой вопрос - есть ли какие-либо решения, которые позволили бы мне поставить в очередь и отложить эту задачу уведомления до тех пор, пока действие не будет выполнено? Тем самым устраняется любая задержка, связанная с большими задачами электронной почты.

Заранее спасибо за помощь - высоко ценится!

1 Ответ

0 голосов
/ 03 марта 2012

Как я помню, WordPress решает эту проблему, передавая клиенту некоторый код JavaScript, который с помощью AJAX вызывает сервер для выполнения длительного процесса. Вызов AJAX является асинхронным, поэтому он не блокирует и не влияет на время загрузки страницы.

...