Я создаю приложение для социальных сетей, в котором пользователь должен что-то публиковать, а затем этот размещенный контент распространяется среди всех участников в его / ее 4 кругах. Значение запроса идет в цикле. Это как родословная. Логика работает отлично. Но теперь, когда число членов в каждом круге продолжает расти, исключение превышает максимальное время выполнения, которое в настоящее время установлено равным 90 и которое достаточно хорошее.
Мы не хотим увеличивать ограничение по времени, поскольку это не окончательное решение. Таким образом, мы хотим реализовать это, используя концепцию обработки ванны. Как пользователь что-то публикует в сети, а затем идентификатор и текст передается в пакетный скрипт. Ответ генерируется немедленно для веб-пользователя, и пакетный скрипт продолжает работать за сценой.
Любая идея или хотя бы о том, как это может быть реализовано. Заранее спасибо.
Я полагаю, вы используете для этого реляционную БД (например, MySQL). По моему опыту, хотя он может работать, он, конечно, не лучший инструмент для моделирования социальных взаимодействий, потому что он не масштабируемый / эффективный.
Вероятно, вам следует изучить базу данных NoSQL с поддержкой графов для такого рода проблем, как OrientDB http://orientdb.com/orientdb/ .
Не совсем то, что вы предложили, но я думаю, что в итоге это избавит вас от многих головных болей.
То, что вы ищете, называется Служба очереди сообщений.
По сути, в вашем приложении вы отправляете сообщение с просьбой привести пример отправки контента участникам кругов текущего пользователя. Затем это сообщение будет потребляться асинхронно потребителем (другой запущенный экземпляр PHP вашего приложения, который может обрабатывать эти сообщения)
Взгляните на RabbitMQ или Beanstalkd с помощью PHP.