История изменений
Исправление intelfx, (текущая версия) :
как заставить пользовательские systemd, что бы он запускал определенные процессы перед запуском других процессов?
Расставить Before=/After= между требуемыми юнитами. Другого не дано.
все равно все target’ы стартуют одновременно, а надо сначала, что бы запустился resque-first.target, а потом уже resque-metro.target и resque-prisma.target
Ты не въезжаешь в семантику зависимостей в systemd. Зависимости порядка не «наследуются» между юнитами.
Если у тебя есть A.target, который зависит от a.service, а также B.target, который зависит от b.service и A.target, и ты запускаешь B.target, то в этом графе зависимостей ничего не говорит о взаимном порядке запуска a.service и b.service. systemd не будет ждать успешного запуска A.target перед тем, как запускать b.service. В результате a.service и b.service стартуют одновременно.
Короче, возьми бумажку и нарисуй направленный граф зависимостей между всеми твоими юнитами, а потом посмотри, получился ли между твоими сервисами хотя бы один направленный путь.
Исправление intelfx, :
как заставить пользовательские systemd, что бы он запускал определенные процессы перед запуском других процессов?
Расставить Before=/After= между требуемыми юнитами. Другого не дано.
все равно все target’ы стартуют одновременно, а надо сначала, что бы запустился resque-first.target, а потом уже resque-metro.target и resque-prisma.target
Ты не въезжаешь в семантику зависимостей в systemd. Зависимости порядка не «наследуются» между юнитами.
Если у тебя есть A.target, который зависит от a.service, а также B.target, который зависит от b.service и A.target, и ты запускаешь B.target, то в этом графе зависимостей ничего не говорит о взаимном порядке запуска a.service и b.service.
systemd не будет ждать успешного запуска A.target перед тем, как запускать b.service. В результате это будет выглядеть как будто a.service и b.service стартуют одновременно.
Короче, возьми бумажку и нарисуй направленный граф зависимостей между всеми твоими юнитами, а потом посмотри, получился ли между твоими сервисами хотя бы один направленный путь.
Исходная версия intelfx, :
как заставить пользовательские systemd, что бы он запускал определенные процессы перед запуском других процессов?
Расставить Before=/After= между требуемыми юнитами. Другого не дано.
все равно все target’ы стартуют одновременно, а надо сначала, что бы запустился resque-first.target, а потом уже resque-metro.target и resque-prisma.target
Ты не въезжаешь в семантику зависимостей в systemd. Зависимости порядка не «наследуются» между юнитами.
Если у тебя есть A.target, который зависит от a.service, а также B.target, который зависит от b.service и A.target, и ты запускаешь B.target, то в этом графе зависимостей ничего не говорит о взаимном порядке запуска a.service и b.service.
systemd не будет ждать успешного запуска A.target перед тем, как запускать b.service. В результате это будет выглядеть как будто a.service и b.service стартуют одновременно.