1

I've configs in place to start resque-first.target, then resque-metro.target and finally resque-prisma.target, but for some reason they all start at the same time

systemctl --user cat resque-worker.target
# /home/deploy/.config/systemd/user/resque-worker.target
[Unit]
Requires=resque-metro.target resque-prisma.target
systemctl --user cat resque-metro.target
# /home/deploy/.config/systemd/user/resque-metro.target
[Unit]
Description=METRO [staging]
Requires=resque-metro@1.service
Requires=resque-metro@2.service
Requires=resque-first.target
After=resque-first.target
PartOf=resque-worker.target

[Install]
RequiredBy=resque-worker.target
systemctl --user cat resque-prisma.target
# /home/deploy/.config/systemd/user/resque-prisma.target
[Unit]
Description=PRISMA [staging]
Requires=resque-prisma@1.service
Requires=resque-first.target
After=resque-first.target
PartOf=resque-worker.target

[Install]
RequiredBy=resque-worker.target
systemctl --user cat resque-first.target
# /home/deploy/.config/systemd/user/resque-first.target
[Unit]
Description=MAIL [staging]
Requires=resque-mail@1.service 
Requires=resque-mail@2.service 
Requires=resque-mail@3.service 
Requires=resque-mail@4.service 
PartOf=resque-metro.target resque-prisma.target

[Install]
RequiredBy=resque-metro.target resque-prisma.target

How do I run resque-first.target, then resque-metro.target and finally resque-prisma.target?

Stuggi
  • 3,506
  • 4
  • 19
  • 36
luisgarcia
  • 11
  • 2
  • IIRC targets are considered started instantly. So your targets ARE started in the order you want, just take zero time to actually start up. If later targets depend on services started by an earlier target being up, you need to add those services to the `After=` dependency of the later target. – Johannes H. Apr 07 '20 at 05:18
  • the problem was that .service did not know which processes should be started before other processes, so I added After to .service and then everything worked as it should Thx @Johannes H – luisgarcia Apr 07 '20 at 11:28

0 Answers0