Hi Amaresh,

 As long as service B depends on service A, A and B will never start
in parallel; B will always start when A is ready.

 "A is ready" means:
  - if A is a oneshot: when the script has completed
  - if A is a longrun:
    * if there is a notification-fd file in the service definition
directory: when the daemon has notified readiness
    * if there is no such file: as soon as the run script has started
(which is not a good readiness indicator; it is akin to starting B
_right after A_, essentially in parallel, so you may have race
conditions here - which is why you should always use readiness
notifications.)


Secnario 1:
1. A & B are one shot services in a s6-rc bundle. Service B is dependent on
A. ( added in dependency file).
2. I think Service B will start after the completion of service A ( A then
B, in serial manner ) is it correct ? or
3. Service B will start immediately after the service A as started (in a
parallel manner) ?

 Serial manner, A then B.


Secnario 2:
1. A is one shot service and B is a long run service. Service B is
dependent on Service A.
2. Service B will start, once th service A as completed (in serial manner)
? or
3. Service B will start immediately after the service A as started (in a
parallel manner) ?

 Serial manner, A then B.


Secnario 3:
1. A is a long run service and B is a one shot service. Service B is
dependent on Service A.
2. Service B will start immediately after the service A as started (in a
parallel manner) ?
3. Do I need to use notification mechanism if I want to start service B
after A service as reached particular point in execution

 Yes, you need notification; if you don't, then B will start
immediately after A.


Secnario 4:
1. A & B both are long run services. Service B is dependent on Service A.
2. Service B will start immediately after the service A as started (in a
parallel manner) ?

 Same as above: almost-parallel manner if A does not use notification,
serial manner if it does.


 If one shot service are dependent on other one shot services. They will be
started in serial manner one after the other ?

 That is your Scenario 1 above.

 If the case is: "C depends on A and B, but A and B are independent",
then:
 * A and B are started in parallel
 * when both A and B are ready, then C is started.

 Hope this helps,

--
 Laurent

Reply via email to