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/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.