Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The automated response can be defined withstatically using python and text interface or dynamically (add/remove) via alter.:

  • python interface( See ecflow.ZombieAttr)

  • text interface ( See Definition file Grammar)

    zombie             ::=  "zombie" >> `zombie_type` >> ":" >> !(`client_side_action` | `server_side_action`) >> ":" >> *`child` >> ":" >> !`zombie_life_time`
    zombie_type        ::=  "user" | "ecf" | "path"
    child              ::=  "init" | "event" | "meter" | "label" | "wait" | "abort" | "complete"
    client_side_action ::=  "fob" | "fail" | "block"
    server_side_action ::=  "adopt" | "delete"
    zombie_life_time   ::=  unsigned integer  ( default:  user(300), ecf(3600), path(900)  )
  • Dynamically via --alter command
    ecflow_client --alter add zombie <zombie-attribute>  <path>
    ecflow_client --later delete zombie < ecf | path | user>  <path>

The zombie attribute is inherited in the same manner as Variable inheritance.

...

Sometimes zombies can arise for more obscure reasons. i.e The job sends a --init message to the server, meanwhile the server is busy(i.e processing jobs), when finally the server makes the task active, and sends a message back to the client/job the ecflow_client has timed out. This causes the ecflow_client to send the same message again. However this time the server treats the child command as a zombie, since the task is already active. hence Hence we get these false zombies.

...