【发布时间】:2018-09-30 17:39:53
【问题描述】:
我正在尝试让 Flask 与以 SQLite 作为后端的 Celery 一起工作。但是,使用以下代码:
CELERY_BROKER_URL = 'sqla+sqlite:///' + os.path.join(basedir, 'celery.db')
def make_celery(app):
celery = Celery(app.import_name, broker=app.config['CELERY_BROKER_URL'])
celery.conf.update(app.config)
TaskBase = celery.Task
class ContextTask(TaskBase):
abstract = True
def __call__(self, *args, **kwargs):
with app.app_context():
return TaskBase.__call__(self, *args, **kwargs)
celery.Task = ContextTask
return celery
启动worker后,I get this error when trying to call a dummy task:
error: [Errno 10061] No connection could be made because the target machine actively refused it
代码:
@app.route('/test')
def test():
t = add_together.delay(100,200)
return str(t.wait())
怎么了?我试过用谷歌搜索 Sqllite/SQLAlchemy/Flask/Celery 的任何组合,但一直找不到解决方案。
【问题讨论】:
-
Google 使用拼写 SQLite 而不是 Sqllite。