Plasma GitLab Archive
Projects Blog Knowledge

Class Uq_engines.watchdog

class watchdog : float -> 'a #engine -> [unit] engine

A watchdog engine checks whether the argument engine makes progress, and if there is no progress for the passed number of seconds, the engine is aborted, and the watchdog state changes to `Error Watchdog_timeout.

The current implementation is not very exact, and it may take a little longer than the passed period of inactivity until the watchdog recognizes inactivity.

If the argument engine terminates, the watchdog changes its state to `Done ()

Important note: The watchdog assumes that the `Working state of the target engine really counts events that indicate progress. This does not work for:

  • poll_process_engine: there is no way to check whether a subprocess makes progress
  • connector: It is usually not possible to reflect the progress on packet level
  • listener: It is usually not possible to reflect the progress on packet level

This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml