Skip to main content

SQS Task Master for unwieldy python data processing by Upserve

Project description

https://travis-ci.org/Automatic/taskhawk-python.svg?branch=master https://img.shields.io/pypi/v/sqstaskmaster.svg?style=flat-square https://img.shields.io/pypi/pyversions/sqstaskmaster.svg?style=flat-square https://img.shields.io/pypi/implementation/sqstaskmaster.svg?style=flat-square https://img.shields.io/badge/code%20style-black-000000.svg

SQS Task Master is one of many packages for distributed asynchronous task execution in python. This package is different in that it is designed to work with uncooperative tasks. It is designed for CPU intensive tasks which will not work in a python cooperative threading model. It allows for tasks that may take upto 12 hours (the limit for SQS). It also provides for applying a hard timeout for a task, less than 12 hours. The implementation relies on using os Singals to achieve these behaviors. Retries and failures are handled using SQS infrastructure. It is designed to work with standard SQS queues which guarantee at least once delivery.

Other choices:

Installation

The sqstaskmaster project is public and can be installed from pypi with pip for python3 on mac and linux.

pip install sqstaskmaster

Development

Git clone the respository:

git clone git@github.com:upserve/sqstaskmaster.git

Pip install the development dependencies in a virtual environment:

pip install -e .[dev]

Run unit tests:

python -m unittest -v

Run flake8:

flake8 .

Run black:

black .

Project details


Download files

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

Source Distribution

sqstaskmaster-0.0.2.tar.gz (8.1 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