-
Notifications
You must be signed in to change notification settings - Fork 46
Open
Labels
Description
I'd like to have a look at MBrace which looks amazing, but my use case implies having distributed processes on-premise / internal network.
I tried to figure out in the documentation if this was supported use-case, I found there is Thespian which is "not for production" for "test only" but it is not clear how I could at least investigate it's usage on the network.
I tried this:
on cluster (supervising process)
#r "packages/MBrace.Core/lib/net45/MBrace.Core.dll"
#r "packages/MBrace.Runtime/lib/net45/MBrace.Runtime.dll"
#r "packages/MBrace.Thespian/lib/net45/MBrace.Thespian.dll"
#I "packages/Vagabond/lib/net45/"
#I "packages/FsPickler/lib/net45/"
#I "packages/Thespian/lib/net45/"
#I "packages/Mono.Cecil/lib/net45/"
#I "packages/Argu/lib/net40/"
open System.IO
open MBrace.Library
open MBrace.Thespian
MBrace.Thespian.ThespianWorker.LocalExecutable <- Path.Combine(__SOURCE_DIRECTORY__, __SOURCE_FILE__)
let cluster = MBrace.Thespian.ThespianCluster.InitOnCurrentMachine(0, false)
let workerref1 = ThespianWorker.Connect("mbrace://machine1:2468")
let workerref2 = ThespianWorker.Connect("mbrace://machine2:2469")
cluster.AttachWorker(workerref1)
cluster.AttachWorker(workerref2)on workers:
#r "packages/MBrace.Core/lib/net45/MBrace.Core.dll"
#r "packages/MBrace.Runtime/lib/net45/MBrace.Runtime.dll"
#r "packages/MBrace.Thespian/lib/net45/MBrace.Thespian.dll"
#r "packages/Vagabond/lib/net45/Vagabond.dll"
#I "packages/Vagabond/lib/net45/"
#I "packages/FsPickler/lib/net45/"
#I "packages/Thespian/lib/net45/"
#I "packages/Mono.Cecil/lib/net45/"
#I "packages/Argu/lib/net40/"
open System.IO
open MBrace.Library
open MBrace.Thespian
let getWorkDir i =
let dir = Path.Combine(__SOURCE_DIRECTORY__, sprintf "thespianworkdir%i" i)
Directory.CreateDirectory dir |> ignore
dir
ThespianWorker.LocalExecutable <- Path.Combine(__SOURCE_DIRECTORY__, __SOURCE_FILE__)
let workDir1 = getWorkDir 1
let worker1 = ThespianWorker.SpawnAsync("machine1", 2468, workDir1, 4)
Async.RunSynchronously worker1this seems to get stuck on either side.
Can anyone provide guidance?
Is there any plan for production support of on-premise distributed setup?
nestordemeure