Sto cercando di far funzionare Flask con Celery con Sqllite come backend. Con questo codice, però:Celery + Flask con Sqllite come broker, errore quando si chiama task
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
Dopo l'avvio di un lavoratore, 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
Codice:
@app.route('/test')
def test():
t = add_together.delay(100,200)
return str(t.wait())
Cosa c'è di sbagliato? Ho provato a cercare su google qualsiasi combinazione di Sqllite/SQLAlchemy/Flask/Celery, ma non sono riuscito a trovare una soluzione.
corretta, ho capito l'errore. Tuttavia, non dovrebbe cercare di utilizzare il database SQLite? O mi sta sfuggendo qualcosa? – Robus
@Robus Anche questa è la mia domanda. Dovrebbe provare a usare SQLite, non AMQP. Quindi probabilmente il problema è con come hai configurato Celery. – masnun