Taskhawk Python Library
TaskHawk is a replacement for celery that works on AWS SQS/SNS, while keeping things pretty simple and straightforward. Any unbound function can be converted into a TaskHawk task.
Only Python 3.6+ is supported currently.
You can find the latest, most up to date, documentation at Read the Docs.
First, install the library:
$ pip install taskhawk
Next, set up a few configuration settings:
AWS_ACCESS_KEY = <YOUR AWS KEY> AWS_ACCOUNT_ID = <YOUR AWS ACCOUNT ID> AWS_REGION = <YOUR AWS REGION> AWS_SECRET_KEY = <YOUR AWS SECRET KEY> TASKHAWK_QUEUE = "DEV-MYAPP"
For Django projects, simple use Django settings to configure Taskhawk, for non-Django projects, you must declare an environment variable called SETTINGS_MODULE that points to a module where settings may be found.
Then, simply add the decorator taskhawk.task to your function:
@taskhawk.task def send_email(to: str, subject: str, from_email: str = None) -> None: # send email
And finally, dispatch your function asynchronously:
send_email.dispatch('email@example.com', 'Hello!', firstname.lastname@example.org')
Assuming that you have Python, pyenv and pyenv-virtualenv installed, set up your environment and install the required dependencies like this instead of the pip install taskhawk defined above:
$ git clone https://github.com/Automatic/taskhawk-python.git $ cd taskhawk-python $ pyenv virtualenv 3.6.5 taskhawk-3.6 ... $ pyenv activate taskhawk-3.6 $ pip install -r requirements/dev-3.6.txt
You can run tests in using make test. By default, it will run all of the unit and functional tests, but you can also specify your own py.test options.
$ py.test $ py.test tests/test_consumer.py
Sphinx is used for documentation. You can generate HTML locally with the following:
$ pip install -e .[dev] $ make docs
We use GitHub issues for tracking bugs and feature requests.
- If it turns out that you may have found a bug, please open an issue
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size & hash SHA256 hash help||File type||Python version||Upload date|
|taskhawk-1.4.0-py3-none-any.whl (15.1 kB) Copy SHA256 hash SHA256||Wheel||py3|
|taskhawk-1.4.0.tar.gz (21.7 kB) Copy SHA256 hash SHA256||Source||None|