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

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

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


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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽