跳转到主要内容

使用Beanstalk与Flask一起使用的实用工具

项目描述

http://img.shields.io/pypi/v/Flask-Beanstalk.png

使用Beanstalk与Flask一起使用的实用工具

客户端

flask_beanstalk.Beanstalkbeanstalkc.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 (3.1 kB 查看哈希值)

上传时间:

支持者