Octogram.JobThis module introduces the definition of a Octogram job, that is an interaction between the orchestrator and one agent.
Note that one job can result in several interactions, depending on how the with_item field of the job header is used.
type item = Global_variables.vartype items = item listval expand_item :
vars:Global_variables.t ->
agent:Jingoo.Jg_types.tvalue ->
re:Jingoo.Jg_types.tvalue ->
item ->
Jingoo.Jg_types.tvalue Stdlib.Seq.ttype header = {name : string;with_items : with_items option;The job’ body will be executed once for every item listed in the with_items field, where each execution has its {{ item }} variable customized for the current value.
If with_item is None, then the job’s body is executed once, with {{ item }} equal to null.
mode : Execution_params.mode;vars_updates : Global_variables.update list;}type 'uri body = | Remote_procedure of {procedure : 'uri Remote_procedure.packed;}Request the targeted agent to execute the procedure.
| Copy of {}Copy destination to the targeted agent, relatively to destination.
val expand_body :
self:Agent_name.t ->
vars:Global_variables.t ->
agent:Jingoo.Jg_types.tvalue ->
re:Jingoo.Jg_types.tvalue ->
item:Jingoo.Jg_types.tvalue ->
string body ->
Uri.global_uri bodyval encoding : 'uri Data_encoding.t -> 'uri t Data_encoding.tRequire to use the Register functor