Задать вопрос
Alex_Wells
@Alex_Wells
PHP/Kotlin

Запустить N разных очередей по X каждой на Z потоков?

Здравствуйте. Есть нужда почти динамически создать с десяток очередей, на каждую из которых раз в секунду приходит таск на ~50мс работы. Конкретное применение - поочередно производить манипуляции с разными таблицами в mysql. Казалось бы, можно создать все очереди прямо в том же процессе - но тогда тупежка одной очереди приведет к проблемами с другой, а это не вариант, поэтому стоит задача все это расспаралелить на разные потоки, child_process'ом к примеру.

Вопрос: что произойдет если на 8 поточном CPU, запущу 20 очередей в 20 sub-процессах, задача каждой из которых - производить асинхронные операции (то есть не тратя процессорное время)? Как распределится нагрузка по ядрам? Насколько это хороший подход? Прийдется ли написать какую-то систему распределения по sub-процессах для процессинга нескольких очередей в одном процессе, дабы в общем кол-ве их было 8?
  • Вопрос задан
  • 92 просмотра
Подписаться 1 Средний Комментировать
Решение пользователя profesor08 К ответам на вопрос (3)
profesor08
@profesor08
Хоть 100 запускай, они распределятся примерно поровну, если один подвиснет, то остальные продолжат работу.
Ответ написан