Я собираюсь поработать над вдохновляющим сайтом для неправительственной организации и собираюсь реализовать какой-то поток событий в стиле Facebook, с такими событиями, как «Майкл рекомендовал яблочный пирог », « Джон прокомментировал шоколадный торт »,« Карамельная помадка была опубликована 8 часов назад Алисой »и т. Д.
Дело в том, что эти события основаны на интересах, поэтому кого-то интересуют только карамель и вишня, и тогда они не должны видеть яблочные пироги или шоколадные пирожные. Для этого существует множество вариантов, и создание персонализированного потока событий пользователя на лету означало бы несколько довольно дорогих запросов к базе данных.
Таким образом, я подумал о том, чтобы предварительно сгенерировать связь между принимающим пользователем и опубликованным событием (вероятно, простой таблицей SQL JOIN), выполняя некую фоновую обработку всякий раз, когда происходит событие действия.
Работа, необходимая для взвешивания предпочтений сотен пользователей по отношению к событию, обязательно будет существенной, поэтому ее нельзя выполнить как часть запроса POST, запускающего работу, поэтому мне придется выполнить большую часть работать в другом процессе. В настоящее время я ищу Gearman для этой задачи, но я очень открыт для предложений.
Я не ищу кого-то, кто будет выполнять мою работу за меня, но если у кого-то есть опыт создания подобных вещей, я бы хотел услышать ваши мысли.