У меня есть вопрос об организации очереди в php. До сих пор я делаю веб-приложение для управления учетными записями в социальных сетях, таких как Facebook, Twitter, Instagram. мой вопрос задавался раньше в этот вопрос некоторыми другими людьми
Мое приложение может получить тысячи пользователей, и я хочу сделать его быстрым и справедливым. так вот сценарий:
пользователи приходят в мое приложение и регистрируются.
они вводят своих пользователей в социальных сетях / проход.
сделать некоторые задачи планирования или деятельности (например, планирование сообщений для отправки или подписаться / отписаться от людей, которые следили за их учетными записями)
некоторые из этих задач можно выполнить с помощью задания cron, например, проверки каждую минуту для отправки запланированных сообщений. НО вопрос сколько стоит?
сколько сообщений я могу обработать в cronjob? 10? 100? 1000? Что делать, если в худшем случае одновременно планируется отправить более 10000 сообщений?
а о заданиях, которые должны запускаться каждые х раз в час? как насчет них? если есть ограничение, например, если я не могу подписаться / отписаться более чем за x человек в час? Как я могу запланировать такие задачи, чтобы работать честно и быстро? я должен запустить постоянную работу, чтобы проверять и выполнять эти задачи каждый момент?
Как я уже сказал, каждый пользователь может добавить тысячи задач в этот список. например, каждый пользователь может установить, чтобы он следил за 5000 000 человек, так как я должен обрабатывать это, чтобы быть справедливым? в очереди более одного пользователя, поэтому, если одному человеку нужно выполнить 5000 000, последующему следует подождать до конца?
как уже упоминалось в другом вопросе, который я связал выше, решение было aws services, но я думаю, что это может быть очередь FIFO, не так ли? Я знаю, что это справедливо, но это не быстро. как мне достичь этой цели?
Задача ещё не решена.
Других решений пока нет …