Giter Site home page Giter Site logo

ranglang / metronome Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dcos/metronome

0.0 2.0 0.0 1.19 MB

Apache Mesos framework for scheduled jobs

Home Page: https://dcos.github.io/metronome/

License: Apache License 2.0

Scala 88.57% Shell 2.07% RAML 2.71% Python 4.60% Groovy 1.88% Makefile 0.18%

metronome's Introduction

Metronome Issues

Metronome is an Apache Mesos framework for scheduled jobs.

Documentation

Metronome documentation is available on the Metronome Project Site or DC/OS documentation site.

Issue Tracking

Metronome issues are tracked as JIRA tickets in Mesosphere's on-premise JIRA instance that anyone is able to view and add to using GitHub SSO. If you create a ticket, please set component metronome.

Getting Started

Get familiar with Metronome with this step-by-step Getting Started guide.

API Reference

Consult the full Metronome REST API reference.

An unofficial Go client library, metronome-client has been created for the v1 API.

Contributing

We heartily welcome external contributions to Metronome's codebase and documentation. Please see our Contributor Guidelines.

Building from Source

To build Metronome from source, check out this repo and use sbt to build a universal package:

    git clone https://github.com/dcos/metronome.git
    cd metronome
    sbt universal:packageBin

In order to build from source you will need protobuf version 2.6.1. This can be installed by executing the ./bin/install-protobuf.sh. This will install protobuf to $HOME/protobuf. You will need $HOME/protobuf/bin in your path ( export PATH=~/protobuf/bin:$PATH).

Running in Development Mode

Mesos local mode allows you to run Metronome without launching a full Mesos cluster. It is meant for experimentation and not recommended for production use. Note that you still need to run ZooKeeper for storing state. The following command launches Metronome on Mesos in local mode.

sbt run

If you want to run Metronome against a real Mesos cluster, you can use the following command.

./run.sh

The script is already pre-filled with a default values for zookeeper and mesos running locally. You can specify your own like this:

./run.sh "zk://127.0.0.1:2181/metronome" "127.0.0.1:5050" "8989"

Example Job with Placement Constraint

{
   "id": "sample-job",
   "description": "A sample job that sleeps",
   "run": {
   "cmd": "sleep 1000",
   "cpus": 0.01,
   "mem": 32,
   "disk": 0,
   "placement": {
       "constraints": [
   	{
   	    "attribute": "hostname",
   	    "operator": "LIKE",
   	    "value": "<host-name>"
   	}
       ]
   }
   },
   "schedules": [
        {
            "id": "sample-schedule",
            "enabled": true,
            "cron": "0 0 * * *",
            "concurrencyPolicy": "ALLOW"
        }
    ]
}

This job will sleep every day at midnight and will land on the host defined by <host-name> which could be the hostname or IP of a node in the cluster. If you don't care where it lands in the cluster remove the placement element.

Help

Have you found an issue? Feel free to report it using our JIRA. Please set component metronome for issues related to Metronome. In order to speed up response times, please provide as much information on how to reproduce the problem as possible.

metronome's People

Contributors

kensipe avatar alenkacz avatar aquamatthias avatar meichstedt avatar meln1k avatar sascala avatar gkleiman avatar grillorafael avatar zen-dog avatar lloesche avatar tsukaby avatar mindscratch avatar jeschkies avatar ensonik avatar takirala avatar janisz avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.