Мой в настоящее время в разработке сайт написан на PHP. Поскольку пользователи используют сайт, они будут выполнять действия, и я хотел бы иметь возможность отправлять уведомления об этих действиях другим пользователям, к которым они подключены.
Теперь, когда я уверен, что при использовании EventSource и PHP-документа для сервировки соответствующих данных: строки будут работать, я совершенно не представляю, как мне следует уведомить этот PHP-документ, когда действительно нужно отправить новое сообщение. .
По сути, я имею в виду, что когда действие происходит, в базу данных PostgreSQL будет входить информация о сообщении (например, о предпринятом действии). Однако неэффективно, чтобы каждый экземпляр «сообщения» PHP-документа (тот, к которому подключен EventSource) постоянно опрашивал PostgreSQL на предмет новых сообщений. При одновременной активности 50 пользователей это будет 50 экземпляров, опрашивающих PostgreSQL, и, как вы, вероятно, можете видеть, не очень эффективное использование ресурсов.
Поэтому мне интересно, есть ли у кого-нибудь какие-либо предложения относительно программного обеспечения, которое могло бы помочь с этой проблемой. В идеале я хотел бы иметь возможность вызывать функцию, которая показывает, что было предпринято действие, которое затем отправляет все другие экземпляры «сообщения» PHP-документа, чтобы они могли интерпретировать сообщение и посмотреть, это актуально и верните его клиенту.
По существу Мне нужен способ уведомить запущенные экземпляры PHP (которые были запущены через Apache) о создании нового сообщения, вызвав функцию в другом экземпляре PHP с информацией о сообщении. Мне не нужна помощь в получении сообщений для клиента; Я могу сделать это с EventSource.
У кого-нибудь есть предложения относительно того, как можно выполнить эту задачу?