Coder Social home page Coder Social logo

zofuthan / dagobah Goto Github PK

View Code? Open in Web Editor NEW

This project forked from thieman/dagobah

0.0 1.0 0.0 2.33 MB

Simple DAG-based job scheduler in Python

License: Do What The F*ck You Want To Public License

Python 10.31% CSS 56.58% JavaScript 20.52% HTML 12.59%

dagobah's Introduction

Dagobah

Build Status PyPi version

Dagobah is a simple dependency-based job scheduler written in Python. Dagobah allows you to schedule periodic jobs using Cron syntax. Each job then kicks off a series of tasks (subprocesses) in an order defined by a dependency graph you can easily draw with click-and-drag in the web interface.

Dagobah lets you retry individual tasks from failure, sends you helpful email reports on job completion and failure, keeps track of your tasks' stdout and stderr, and persists its information in various backends so you don't have to worry about losing your data.

You can also [use Dagobah directly in Python.](../../wiki/Using Dagobah Directly in Python)

Installation

Dagobah works with Python 2.6 or 2.7.

pip install dagobah
dagobahd  # start the web interface on localhost:9000

On first start, dagobahd will create a config file at ~/.dagobahd.yml. You'll probably want to check that out to get your backend and email options set up before you start using Dagobah.

Dagobah does not require a backend, but unless you specify one, your jobs and tasks will be lost when the daemon exits. Each backend requires its own set of drivers. Once you've installed the drivers, you then need to specify any backend-specific options in the config. See the config file for details.

Available Backends

To use a backend, you need to install the drivers using the commands below and then tell Dagobah to use the backend in the config file (default location ~/.dagobahd.yml).

MongoDB

pip install pymongo

Deprecated Backends

  • SQLite: Deprecated following version 0.3.1.

Features

Single-user auth

Manage multiple jobs scheduled with Cron syntax. Run times are shown in your local timezone.

Tasks can be anything you'd normally run at a shell prompt. Pipe and redirect your heart out.

Failed tasks don't break your entire job. Once you fix the task, the job picks up from where it left off.

On completion and failure, Dagobah sends you an email summary of the executed job (just set it up in the config file).

Tasks can even be run on remote machines (using your SSH config)

Contributors

Get Started Contributing

  • See the fledgling wiki or create a new issue to get started
  • If you have any questions, go ahead and email or tweet at me, or go ahead and create a new issue in this repository.

dagobah's People

Contributors

thieman avatar surbas avatar michaelmartinez avatar dwoos avatar brainwane avatar studer avatar

Watchers

 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.