Максим Бабичев, это самое наивное решение, конечно, вы правы.
Обычно вложенность ограничена сколькими-то уровнями и можно просто жадно загрузить parent.parent.parent.parent. А можно вообще сделать всё иначе и использовать nested set.
Надо будет глянуть, как их в базу писать, чет сходу не увидел такой опции
Это стандартный функционал фреймворка, который адекватно работает в связке с Horizon, но к самому Horizon не имеет отношения: Dealing With Failed Jobs.
я пришёл к тому, что общее кол-во хэндлеров не должно превышать кол-во процессоров и критичные джобы на отдельные хендлеры.
А этот автоскейлинг сервер не завешивал ни разу?
У нас довольно неравномерная нагрузка на протяжении дня на разные очереди - какие-то ночью запускаются, какие-то только днём. Поэтому нет смысла держать воркеры там, где задач точно не будет. А как задачи появляются, автоматом поднимается нужное количество. Проблем не было пока ни разу, при том, что даже минимальное количество всегда запущенных воркеров превышает (ненамного) количество процессоров. Для каждой очереди максимальное разумное количество процессов указано тоже.
Жаль, что нельзя 0 процессов указать в качестве минимума - есть очереди, которые вообще раз в неделю джобы получают, зато сразу тысячи. Приходится им большую часть времени вхолостую крутиться, но, опять же, никаких проблем от этого я не вижу.
Вы эту инфу могли бы почерпнуть из первого и второго моих комментариев, где ровно это и написано. Больше мне нечего добавить, потому что в вопросе нет важной информации.
Судя по вашему описанию, во втором случае просто используются данные индекса, без обращения к таблице. Соответственно, может помочь составной индекс. А может и не помочь.
Без схемы таблицы, запроса и результата команды explain дальнейшее обсуждение лишено смысла, мой дар провидения уже напряжён до предела.
Планировщику виднее, что делать с индексом с низкой кардинальностью.
0.02 с — это больше похоже на хит в кэш, а не на использование одного конкретного индекса.
А нужна эта настройка для того, чтобы вы могли некоторое число ядер отключить. Считайте, что она называется «использовать не более N ядер».
Добавлять ядра процессору Windows, разумеется, не умеет.