# test with:
# time ./mgmt run --hostname h1 --tmp-prefix --no-pgp lang examples/lang/schedule0.mcl
# time ./mgmt run --hostname h2 --seeds=http://127.0.0.1:2379 --no-server --no-magic --tmp-prefix --no-pgp lang examples/lang/schedule0.mcl
# time ./mgmt run --hostname h3 --seeds=http://127.0.0.1:2379 --no-server --no-magic --tmp-prefix --no-pgp lang examples/lang/schedule0.mcl
# kill h2 (should see h1 and h3 pick [h1, h3] instead)
# restart h2 (should see [h1, h3] as before)
# kill h3 (should see h1 and h2 pick [h1, h2] instead)
# restart h3 (should see [h1, h2] as before)
# kill h3
# kill h2
# kill h1... all done!

import "golang"
import "world"

$ns = "xsched" # some unique string

# This node wishes to be included in the scheduled set. These are the options...
schedule "${ns}" {
	strategy => "rr",
	max => 2,
	#reuse => false,
	ttl => 10,
}

# See the scheduled selection for a particular namespace:
$set = world.schedule($ns)

file "/tmp/mgmt/scheduled-${hostname}" {
	state => $const.res.file.state.exists,
	content => golang.template("set: {{ . }}\n", $set),
}
