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

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

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


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

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

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