Starten von Sellerie in Flasche: AttributeError: 'Flask' Objekt hat kein Attribut 'user_options'

Ich versuche, einen Celery Worker Server von einer Befehlszeile aus zu starten:

celery -A server application worker --loglevel=info 

Der Code- und Ordnerpfad:

 server.py application/controllers/routes.py 

Server.py

 app = Flask(__name__) from application.controllers import routes app.run(host='127.0.0.1',port=5051,debug=True) 

Route.py

 from flask import Flask, from celery import Celery from server import app app.config['CELERY_BROKER_URL'] = 'redis://localhost:6379/0' app.config['CELERY_RESULT_BACKEND'] = 'redis://localhost:6379/0' celery = Celery(app.name, broker=app.config['CELERY_BROKER_URL']) celery.conf.update(app.config) @celery.task() def add_together(self, count): return "First success" @app.route("/queing") def testsfunction(): count = 1 add_together.delay(count) return "cool" 

Zurück verfolgen:

 Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/2.7/bin/celery", line 11, in <module> sys.exit(main()) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/celery/__main__.py", line 30, in main main() File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/celery/bin/celery.py", line 81, in main cmd.execute_from_commandline(argv) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/celery/bin/celery.py", line 770, in execute_from_commandline super(CeleryCommand, self).execute_from_commandline(argv))) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/celery/bin/base.py", line 309, in execute_from_commandline argv = self.setup_app_from_commandline(argv) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/celery/bin/base.py", line 477, in setup_app_from_commandline user_preload = tuple(self.app.user_options['preload'] or ()) AttributeError: 'Flask' object has no attribute 'user_options' 

Ich habe diesen Fehler, wenn ich einen Sellerie Arbeiter im Terminal laufen.

2 Solutions collect form web for “Starten von Sellerie in Flasche: AttributeError: 'Flask' Objekt hat kein Attribut 'user_options'”

Führe einfach den Sellerie mit diesem Befehl anstelle von dir:

 celery -A application.controllers.routes:celery worker --loglevel=info 

Dies wird Ihr aktuelles Problem lösen aber Ihre Codes haben eine Menge Fehler zum Beispiel, wenn Sie ein Selbst-Argument in Ihrem add_together Funktion haben möchten, sollten Sie eine Aufgabe wie add_together erklären:

 @celery.task(bind=True) 

Es scheint, als hättest du Tippfehler:

 def add_together(self, count): 

nach

 def add_together(count): 
  • Python + Celery: Chaining Jobs?
  • Wie kann ich feststellen, ob ich in einem Sellerie-Arbeiter laufe?
  • Django-Sellerie: Anforderung an Objekt an Arbeitnehmer
  • Multi Celery Projekte mit dem gleichen RabbitMQ Broker Backend Prozess
  • Abrufen einer Liste von Aufgaben in einer Warteschlange in Celery
  • Echtzeit-Fortschrittsverfolgung von Sellerie-Aufgaben
  • Celery - Get Task-ID für aktuelle Aufgabe
  • Wie hört man Sellerie Arbeiter Prozess
  • Django Celery erhielt unregistrierte Aufgabe des Typs 'appname.tasks.add'
  • Implementierung verdrehter lokaler mehrfacher verzögerter Callbacks in Sellerie
  • Lesen Sie die Celery-Konfiguration aus der Python-Eigenschaftsdatei
  • Python ist die beste Programmiersprache der Welt.