| 201 | } |
| 202 | |
| 203 | void launch(const TaskInfo& task) |
| 204 | { |
| 205 | cout << "Starting task " << task.task_id().value() << endl; |
| 206 | |
| 207 | tasks[task.task_id()] = task; |
| 208 | |
| 209 | std::thread thread([=]() { |
| 210 | os::sleep(Seconds(random() % 10)); |
| 211 | |
| 212 | process::dispatch(self(), &Self::update, task, TaskState::TASK_FINISHED); |
| 213 | }); |
| 214 | |
| 215 | thread.detach(); |
| 216 | |
| 217 | update(task, TaskState::TASK_RUNNING); |
| 218 | } |
| 219 | |
| 220 | private: |
| 221 | const FrameworkID frameworkId; |