Module type Ketrew.Long_running.LONG_RUNNING

module type LONG_RUNNING = sig .. end
The module type LONG_RUNNING defines the interface for plugins.

type run_parameters 
Hidden type kept serialized by the engine.
val name : string
The (unique) name of the plugin.
val serialize : run_parameters -> string
Serialize the run parameters for storage by the engine.
val deserialize_exn : string -> run_parameters
Deserialize the run parameters from a string; the engine guaranties that deserialize_exn will be called on the result of Ketrew.Long_running.LONG_RUNNING.serialize; and assumes that no exception will be thrown in that case.
val start : run_parameters ->
host_io:Ketrew.Host_io.t ->
(run_parameters,
Ketrew.Host_io.Error.classified)
Unix_io.Deferred_result.t
Start the long-running computation, the returned run_parameters will be stored and used for the first call to Ketrew.Long_running.LONG_RUNNING.update.
val update : run_parameters ->
host_io:Ketrew.Host_io.t ->
([ `Failed of run_parameters * string
| `Still_running of run_parameters
| `Succeeded of run_parameters ],
Ketrew.Host_io.Error.classified)
Unix_io.Deferred_result.t
Check and update the status of the long-running job. Again, is `Still_running rp is returned, the next call to Ketrew.Long_running.LONG_RUNNING.update (or Ketrew.Long_running.LONG_RUNNING.kill) will receive those parameters.
val kill : run_parameters ->
host_io:Ketrew.Host_io.t ->
([ `Killed of run_parameters ],
Ketrew.Host_io.Error.classified)
Unix_io.Deferred_result.t
Kill the long-running computation.
val log : run_parameters ->
(string * Ketrew_pure.Internal_pervasives.Log.t) list
Get a list of things to display.
val additional_queries : run_parameters ->
(string * Ketrew_pure.Internal_pervasives.Log.t) list
List of potential (query, description) pairs that can be passed to Ketrew.Long_running.LONG_RUNNING.query.
val query : run_parameters ->
host_io:Ketrew.Host_io.t ->
string ->
(string, Ketrew_pure.Internal_pervasives.Log.t) Unix_io.Deferred_result.t
Perform a query.