Up

module Parallel

: sig
#
module Remote_executable : sig
#
type 'a t
#
val existing_on_host : executable_path:string -> ?strict_host_key_checking:[
| `No
| `Ask
| `Yes
] -> string -> [
| `Undeletable
] t
#
val copy_to_host : executable_dir:string -> ?strict_host_key_checking:[
| `No
| `Ask
| `Yes
] -> string -> [
| `Deletable
] t Core.Std.Or_error.t Async.Std.Deferred.t
#
val delete : [
| `Deletable
] t -> unit Core.Std.Or_error.t Async.Std.Deferred.t
#
val path : _ t -> string
#
val host : _ t -> string
end
#
module Make : functor (M : sig
#
type worker_arg
#
type worker_ret
#
val worker_main : worker_arg -> worker_ret Async.Std.Deferred.t
#
val bin_worker_arg : worker_arg Core.Std.Bin_prot.Type_class.t
#
val bin_read_worker_arg : worker_arg Core.Std.Bin_prot.Read.reader
#
val __bin_read_worker_arg__ : (int -> worker_arg) Core.Std.Bin_prot.Read.reader
#
val bin_reader_worker_arg : worker_arg Core.Std.Bin_prot.Type_class.reader
#
val bin_size_worker_arg : worker_arg Core.Std.Bin_prot.Size.sizer
#
val bin_write_worker_arg : worker_arg Core.Std.Bin_prot.Write.writer
#
val bin_writer_worker_arg : worker_arg Core.Std.Bin_prot.Type_class.writer
#
val bin_worker_ret : worker_ret Core.Std.Bin_prot.Type_class.t
#
val bin_read_worker_ret : worker_ret Core.Std.Bin_prot.Read.reader
#
val __bin_read_worker_ret__ : (int -> worker_ret) Core.Std.Bin_prot.Read.reader
#
val bin_reader_worker_ret : worker_ret Core.Std.Bin_prot.Type_class.reader
#
val bin_size_worker_ret : worker_ret Core.Std.Bin_prot.Size.sizer
#
val bin_write_worker_ret : worker_ret Core.Std.Bin_prot.Write.writer
#
val bin_writer_worker_ret : worker_ret Core.Std.Bin_prot.Type_class.writer
end
) -> sig
#
type worker_id
#
val spawn_worker : ?where:[
| `Local
| `Remote of _ Remote_executable.t
] -> ?disown:bool -> ?env:(string * string) list -> M.worker_arg -> on_failure:(Core.Std.Error.t -> unit) -> (M.worker_ret * worker_id) Core.Std.Or_error.t Async.Std.Deferred.t
#
val spawn_worker_exn : ?where:[
| `Local
| `Remote of _ Remote_executable.t
] -> ?disown:bool -> ?env:(string * string) list -> M.worker_arg -> on_failure:(Core.Std.Error.t -> unit) -> (M.worker_ret * worker_id) Async.Std.Deferred.t
#
val kill_worker : worker_id -> unit Async.Std.Deferred.t
#
val run : Async.Std.Command.t -> unit
end
end