Utilities for using Beanstalk with Flask
Project description
Utilities for using Beanstalk with Flask
Client
flask_beanstalk.Beanstalk is a simple wrapper for beanstalkc.Connection that allows reading configuration from app.config.
from flask import Flask from flask_beanstalk import Beanstalk app = Flask(__name__) beanstalk = Beanstalk(app) # or beanstalk.init_app(app)
Configuration
app.config['BEANSTALK_HOST'] app.config['BEANSTALK_PORT'] app.config['BEANSTALK_PARSE_YAML'] app.config['BEANSTALK_CONN_TIMEOUT']
Worker
Define and spawn workers by subclassing from flask_beanstalk.Worker. flask_beanstalk.Worker inherits from gevent.Greenlet but gevent is an optional dependency in case you just want to use the client.
import gevent from flask_beanstalk import Worker as _Worker class Worker(_Worker): def run(self, job): self._logger.info('Received: %r' % job.body) job.delete() workers = Worker.spawn_workers(10) try: while True: gevent.sleep(10000) except KeyboardInterrupt: Worker.stop_workers(workers)
Try it out
Install and run beanstalkd if you haven’t done so yet.
git clone https://github.com/marksteve/flask-beanstalk.git cd flask-beanstalk mkvirtualenv flask-beanstalk workon flask-beanstalk python setup.py develop python example_worker.py
On another terminal:
workon flask-beanstalk python example.py
Go to localhost:5000 in your browser to send a job. The worker should be able to accept and process it. Try to send multiple jobs before sending a SIGINT to the worker. Jobs being worked on should be processed first before the worker shuts down.
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
File details
Details for the file Flask-Beanstalk-0.0.3.tar.gz
.
File metadata
- Download URL: Flask-Beanstalk-0.0.3.tar.gz
- Upload date:
- Size: 3.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ddfcd74f8c33c900133a8de4bd3c2da67dede3ce8048fd4cd31e4ea8e9a7aa96 |
|
MD5 | 8b9ea36d82a0d4337cd560539a09f026 |
|
BLAKE2b-256 | 083f65766093bc9c746b2f8d03fd9cbdc4f352a9222d0239f456270d64610d49 |