使用Beanstalk与Flask一起使用的实用工具
项目描述
使用Beanstalk与Flask一起使用的实用工具
客户端
flask_beanstalk.Beanstalk是beanstalkc.Connection的一个简单包装器,允许从app.config中读取配置。
from flask import Flask from flask_beanstalk import Beanstalk app = Flask(__name__) beanstalk = Beanstalk(app) # or beanstalk.init_app(app)
配置
app.config['BEANSTALK_HOST'] app.config['BEANSTALK_PORT'] app.config['BEANSTALK_PARSE_YAML'] app.config['BEANSTALK_CONN_TIMEOUT']
工作器
通过从flask_beanstalk.Worker子类化来定义和生成工作器。 flask_beanstalk.Worker继承自gevent.Greenlet,但gevent是一个可选依赖项,以防您只想使用客户端。
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)
试一试
如果您尚未安装,请安装并运行beanstalkd。
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
在另一个终端
workon flask-beanstalk python example.py
在浏览器中转到localhost:5000以发送一个作业。工作器应该能够接收并处理它。在向工作器发送SIGINT之前,尝试发送多个作业。正在处理的工作应该先于工作器关闭。
项目详情
关闭
Flask-Beanstalk-0.0.3.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ddfcd74f8c33c900133a8de4bd3c2da67dede3ce8048fd4cd31e4ea8e9a7aa96 |
|
MD5 | 8b9ea36d82a0d4337cd560539a09f026 |
|
BLAKE2b-256 | 083f65766093bc9c746b2f8d03fd9cbdc4f352a9222d0239f456270d64610d49 |