Callback interface to be implemented by frameworks' executors. Note that only one callback will be invoked at a time, so it is not recommended that you block within a callback because it may cause a deadlock. Each callback includes a reference to the executor driver that was used to run this exe
| 35 | * doesn't need to store a reference to the driver itself. |
| 36 | */ |
| 37 | public interface Executor { |
| 38 | |
| 39 | /** |
| 40 | * Invoked once the executor driver has been able to successfully |
| 41 | * connect with Mesos. In particular, a scheduler can pass some |
| 42 | * data to its executors through the {@link ExecutorInfo#getData()} |
| 43 | * field. |
| 44 | * |
| 45 | * @param driver The executor driver that was registered and connected |
| 46 | * to the Mesos cluster. |
| 47 | * @param executorInfo Describes information about the executor that was |
| 48 | * registered. |
| 49 | * @param frameworkInfo Describes the framework that was registered. |
| 50 | * @param slaveInfo Describes the slave that will be used to launch |
| 51 | * the tasks for this executor. |
| 52 | * |
| 53 | * @see ExecutorDriver |
| 54 | * @see MesosSchedulerDriver |
| 55 | */ |
| 56 | // TODO(vinod): Add a new reregistered callback for when the executor |
| 57 | // re-connects with a restarted slave. |
| 58 | void registered(ExecutorDriver driver, |
| 59 | ExecutorInfo executorInfo, |
| 60 | FrameworkInfo frameworkInfo, |
| 61 | SlaveInfo slaveInfo); |
| 62 | |
| 63 | /** |
| 64 | * Invoked when the executor reregisters with a restarted slave. |
| 65 | * |
| 66 | * @param driver The executor driver that was reregistered with the |
| 67 | * Mesos master. |
| 68 | * @param slaveInfo Describes the slave that will be used to launch |
| 69 | * the tasks for this executor. |
| 70 | * |
| 71 | * @see ExecutorDriver |
| 72 | */ |
| 73 | void reregistered(ExecutorDriver driver, SlaveInfo slaveInfo); |
| 74 | |
| 75 | /** |
| 76 | * Invoked when the executor becomes "disconnected" from the slave |
| 77 | * (e.g., the slave is being restarted due to an upgrade). |
| 78 | * |
| 79 | * @param driver The executor driver that was disconnected. |
| 80 | */ |
| 81 | void disconnected(ExecutorDriver driver); |
| 82 | |
| 83 | /** |
| 84 | * Invoked when a task has been launched on this executor (initiated |
| 85 | * via {@link SchedulerDriver#launchTasks}. Note that this task can be |
| 86 | * realized with a thread, a process, or some simple computation, |
| 87 | * however, no other callbacks will be invoked on this executor |
| 88 | * until this callback has returned. |
| 89 | * |
| 90 | * @param driver The executor driver that launched the task. |
| 91 | * @param task Describes the task that was launched. |
| 92 | * |
| 93 | * @see ExecutorDriver |
| 94 | * @see TaskInfo |
no outgoing calls
no test coverage detected