public class SampleFramework
extends java.lang.Object
TaskScheduler
.Modifier and Type | Class and Description |
---|---|
class |
SampleFramework.MesosScheduler
A sample mesos scheduler that shows how mesos callbacks can be setup for use with Fenzo TaskScheduler.
|
Constructor and Description |
---|
SampleFramework(java.util.concurrent.BlockingQueue<TaskRequest> taskQueue,
java.lang.String mesosMaster,
Action1<java.lang.String> onTaskComplete,
Func1<java.lang.String,java.lang.String> taskCmdGetter)
Create a sample mesos framework with the given task queue and mesos master connection string.
|
Modifier and Type | Method and Description |
---|---|
void |
shutdown()
Shuts down the Mesos driver.
|
void |
start() |
public SampleFramework(java.util.concurrent.BlockingQueue<TaskRequest> taskQueue, java.lang.String mesosMaster, Action1<java.lang.String> onTaskComplete, Func1<java.lang.String,java.lang.String> taskCmdGetter)
runAll()
method implements the scheduling loop that continuously takes pending tasks from
the queue and uses Fenzo's task scheduler to assign resources to them.
The task scheduler created in this sample is a rather simple one, with no advanced features.taskQueue
- The task queue.mesosMaster
- Connection string for mesos master.onTaskComplete
- A single argument action trigger to invoke upon task completion, with task ID is the argument.taskCmdGetter
- A single argument function to invoke to get the command line to execute for a given task ID,
passed as the only argument.