twosigma/clj-mesos

Name: clj-mesos

Owner: Two Sigma

Description: A Mesos binding for Clojure

Created: 2016-01-11 22:22:38.0

Updated: 2017-06-29 22:23:06.0

Pushed: 2016-08-01 15:34:04.0

Homepage:

Size: 38

Language: Clojure

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

clj-mesos

A Clojure library that provides integration with Mesos via the Java API.

Build Status

Usage

This library has the exact same functions and callbacks as the Java Mesos API, except for the Log API. You can declare an instance of a Scheduler or an Executor with a proxy-like interface:

 myscheduler
lj-mesos.scheduler/scheduler (registered [driver fid mi]
                               (println "registered" fid mi))
                             (resourceOffers [driver offers]
                               (clojure.pprint/pprint offers))))

Any unimplemented callbacks will just be noops.

To use the Scheduler or Executor, you can create a driver and use the functions to activate it:

reate a driver
 overdriver
lj-mesos.scheduler/driver
myscheduler {:user "" :name "testframework"} "localhost:5050"))

all a function on the driver
-mesos.scheduler/start overdriver)
-mesos.scheduler/stop overdriver))
-mesos.scheduler/revive-offers)

Note that the functions you call on the driver are using normal Clojure case rules: all lowercase, with -s separating the words. On the other hand, the callbacks use the Java camelCase standard.

Stability

clj-mesos has been used to support a major production workload since June 2014.

License

Copyright © 2013 David Greenberg

Distributed under the Eclipse Public License, the same as Clojure.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.