Ответов: 2 Просмотров: 204
|
Добрый день, уважаемые форумчане.
Очень нужен ваш профессиональный совет и конструктивная критика.
Пилим веб-сервис на php, в который будет делать отложенный постинг в аккаунты Вконтакте.
После авторизации в личный кабинет пользователь сможет добавлять так называемые задания, которые будет для него сервис выполнять. Задание представляет собой настройку действий - в какой аккаунт какую информацию постить и в какое время. Каждый пользователь системы может насоздавать ряд таких заданий.
Суть проблемы в следующем. Когда пользователей много и у каждого куча заданий, то мы в БД получаем большую очередь. Вопрос - как извлекать из нее задачи для выполнения?
Если брать их по мере добавления в очередь (первый пришел - первый ушел), то может получиться что кто-то один насоздавал 100 задач, а кто-то другой создал только одну задачу и вот этот второй будет ждать очень долго, пока не выполнятся все 100 задач первого пользователя.
Есть мысль брать задачи рандомно, что тоже имеет свои минусы т.к. теоретически какие-то задачи могут быть взяты в работу очень редко.
Может есть какое-то известное решение для задач такого рода?
Заранее спасибо за ответ! |