Skip to main content

AzkabanCLI: a lightweight command line interface for Azkaban.

Project description

AzkabanCLI Build badge Pypi badge Downloads badge

A lightweight Azkaban client providing:

  • A command line interface to run workflows, upload projects, etc.
  • A convenient and extensible way for building projects.

Sample

Below is a simple configuration file for a project containing a workflow with three jobs:

from azkaban import Job, Project
from getpass import getuser

PROJECT = Project('sample')

# properties available to all jobs
PROJECT.properties = {
  'user.to.proxy': getuser(),
}

# dictionary of jobs
JOBS = {
  'first': Job({'type': 'command', 'command': 'echo "Hello"'}),
  'second': Job({'type': 'command', 'command': 'echo "World"'}),
  'third': Job({'type': 'noop', 'dependencies': 'first,second'}),
}

for name, job in JOBS.items():
  PROJECT.add_job(name, job)

The examples directory contains another sample project that uses Azkaban properties to build a project with two configurations: production and test, without any job duplication.

Documentation

The full documentation can be found here.

Installation

Using pip:

$ pip install azkaban

Development

Run tests:

$ nosetests

To also run the integration tests against an Azkaban server, create ~/.azkabanrc that includes at least:

[azkaban]
test.alias = local

[alias.local]
url = azkaban:azkaban@http://localhost:8081

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

azkaban-0.9.14.tar.gz (36.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page