Think of something catchy
Used by Twitter, Airbnb, Groupon, Apple, among a few
Interact through Callbacks
(clj-mesos.scheduler/scheduler
(disconnected [driver])
(error [driver message])
(executorLost [driver executor-id slave-id status])
(frameworkMessage [driver executor-id])
(offerRescinded [driver offer-id])
(registered [driver framework-id master-info])
(reregistered [driver master-info])
(resourceOffers [driver offers])
(slaveLost [driver slave-id])
(statusUpdate [driver status]))
Like the Scheduler interact through Callbacks
(clj-mesos.executor/executor
(disconnected [driver])
(error [driver message])
(frameworkMessage [driver data])
(killTask [driver task-id])
(launchTask [driver task-info])
(registered [driver executor-info framework-info slave-info])
(reregistered [driver slave-info])
(shutdown [driver]))
(clj-mesos.scheduler/launch-tasks driver
[{:task-id 1
:name "Task"
:slave-id (:slave-id offer)
:resources {:cpus 1.0
:mem 128.0}
:executor {}
:command {}}])
(clj-mesos.executor/send-status-update driver
{:task-id (:task-id task-info)
:state :task-running})
(clj-mesos.executor/send-framework-message driver
(.getBytes "A Message!"))