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