master
branchmaster
branchThe long-running plugins must:
LONG_RUNNING
interface;`Long_running (name, serialized_state)
;Ketrew_plugin.register_long_running_plugin
.There are (for now) four long-running methods in the library, see
Ketrew_lsf
,
Ketrew_yarn
,
Ketrew_pbs
, and
Ketrew_daemonize
.
They all use the module Ketrew_long_running_utilities
which provides a few
helpers for plugin writers.
Moreover, the tests contain a “dynamically linked plugin” that uses the
implementation of Ketrew_daemonize
and adds a (stupid) custom runtime-query:
src/test/dummy_plugin.ml
.src/test/dummy_plugin_user.ml
.Dynamic linking can be annoying: for instance, some libraries do not install
.cmxs
files, and some architectures do not support native dynlink, …
Luckily, there is an alternative, one can link plugins statically with
src/app/main.ml
(or another
version of that), see the documentation.