Задать вопрос
@radik2806

Можно ли создавать динамические воркеры в Gearman?

Добрый день,
Опишу задачу. Отложенный постинг в вк, юзеры забивают посты в базу и указывают когда нужно отправить пост. Проект на php. Скрипт запускается раз в 5 минут, собирает пул постов для отправки и постит. Постит очень долго. Я хочу ускорить его, запуская постинг в несколько потоков, взгляд пал на Gearman. Несколько вопросов знающим людям:
  • Как Gearman вообще обрабатывает задачи. 1 воркер - 1 процесс? То есть если я хочу чтобы посты отправлялись в 10 потоков мне нужно 10 запущенных воркеров?
  • Можно ли запускать воркеры динамически, мне не охота держать в памяти 10 воркеров, тем более что не всегда они нужны. Я бы хотел смотреть, если постов скажем больше 1000, то создаю дополнительных воркеров. Сразу вопрос как их вырубить потом


Может Gearman и не совсем удачный инструмент для этой задачи. Кто сталкивался с многопоточностью в php, может есть лучшие решения?
  • Вопрос задан
  • 317 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
gephaest
@gephaest
PHP, Yii2, Laravel
Ответ написан
Комментировать
@matperez
Да, вам нужно запускать несколько процессов на каждую задачу. Если хотите 10 потоков, запускайте 10 процессов.
Я лично пользовал вот эту штуку для управления числом процессов https://github.com/brianlmoon/GearmanManager. Вполне рабочее решение. Вроде как умеет увеличивать количество процессов по требованию (этим не пользовался).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы