This release is a pre-release and may not be stable for production use.
A simple tool for creating long-running Python workers listening for Beanstalk jobs.
Jobs can be posted as YAML or JSON objects, with keys mapping to the callable’s keyword arguments. Passing parse=False to the __init__ method will disable YAML parsing, and the callable will be provided a single string argument containing the job’s body.
Returning True from the callable will be seen as a success and will delete the job from the queue. Returning False or None will be seen as a failure, and the job will be buried for later inspection.
If listening on multiple tubes, add the argument __tubes__ to the method to receive the tube name when the callable is executed.
Usage:
import logging
from RunnerBean import Runner
def print_message(recipient, message, __tube__):
# accepts a job with the following structure:
"""
message: Hello world!
recipient: joe bloggs
"""
print recipient, message
print __tube__ #= 'messages'
return True # this deletes the job from the tube
if __name__ == '__main__':
runner = Runner(print_message,
parse=True, # default; job body should be parsed as YAML
tubes="messages", # string or list of tubes to listen on
host='0.0.0.0', # beanstalkd host
port=11300, # beanstalkd port
loglevel=logging.DEBUG, # set log level, default: ERROR
logfile='runnerbean.log' # set the logfile
)
runner.run()
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file RunnerBean-0.4.4.dev0.tar.gz.
File metadata
- Download URL: RunnerBean-0.4.4.dev0.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45c01986b947bdd978020fb0c3f0de7444ed083963944a74e3bd7932f8fb2845
|
|
| MD5 |
39f7c82cf49579c0596170f0536fc851
|
|
| BLAKE2b-256 |
9898cf4f2da298240385787c8b64f69b2106fff8b63d5cdd1c7415217c8579b7
|