Функция очереди без CRON или Shell
Я разрабатываю систему с Symfony, в которую встроен модуль уведомлений. Цель сценария - обеспечить широкий диапазон совместимости, поэтому требования не будут затрагивать cron, root & shell.
В настоящее время система отправляет уведомления при выполнении определенных действий. Например, сделать сообщение, загрузить файл, изменить статус и т. Д. Проблема этого подхода заключается в том, что некоторые действия могут быть очень медленными, если существует значительное количество пользователей с подпиской на уведомления.
Мой вопрос - есть ли какие-либо решения, которые позволили бы мне поставить в очередь и отложить эту задачу уведомления до тех пор, пока действие не будет выполнено? Тем самым устраняется любая задержка, связанная с большими задачами электронной почты.
Заранее спасибо за помощь - высоко ценится!
1 ответ
Насколько я помню, WordPress решает эту проблему, передавая клиенту некоторый код JavaScript, который с помощью AJAX вызывает сервер, чтобы выполнить длительный процесс. Вызов AJAX является асинхронным, поэтому он не блокирует и не влияет на время загрузки страницы.