मैं फ्लास्क-एपीएसड्यूलर के साथ नौकरी चलाने के लिए चाहता हूं जो फ्लास्क-स्क्लाक्लेमी मॉडल से पूछताछ करता है। जब नौकरी चलती है, तो मुझे RuntimeError: application not registered on db instance and no application bound to current context
मिलता है। मैं डेटाबेस से पूछताछ करने वाली नौकरी कैसे चला सकता हूं।फ्लास्क-एपीएसड्यूलर जॉब में क्वेरीिंग मॉडल ऐप संदर्भ बढ़ाता है RuntimeError
from flask_apscheduler import APScheduler
scheduler = APScheduler()
scheduler.init_app(app)
scheduler.start()
from models import User
def my_job():
user = User.query.first()
print(user)
त्रुटि, क्वेरी के दौरान होता है इससे पहले कि यह मुद्रित किया जा सकता। डेटाबेस अन्य प्रश्नों के लिए शेष आवेदन में काम कर रहा है।
मैंने एक्सटेंशन सेट अप करते समय with app.app_context():
जोड़ने का प्रयास किया लेकिन यह काम नहीं किया।
with app.app_context()
scheduler = APScheduler()
scheduler.init_app(app)
scheduler.start()
पूर्ण ट्रैस है:
ERROR:apscheduler.executors.default:Job "run_in (trigger: interval[0:00:10], next run at: 2016-10-18 23:00:53 CEST)" raised an exception
Traceback (most recent call last):
File "/Users/user/.virtualenvs/myfolder/lib/python2.7/site-packages/apscheduler/executors/base.py", line 125, in run_job
retval = job.func(*job.args, **job.kwargs)
File "/Users/user/Documents/myfolder/myfolder/myfile.py", line 19, in myjob
user = User.query.all()
File "/Users/user/.virtualenvs/myfolder/lib/python2.7/site-packages/flask_sqlalchemy/__init__.py", line 454, in __get__
return type.query_class(mapper, session=self.sa.session())
File "/Users/user/.virtualenvs/myfolder/lib/python2.7/site-packages/sqlalchemy/orm/scoping.py", line 71, in __call__
return self.registry()
File "/Users/user/.virtualenvs/myfolder/lib/python2.7/site-packages/sqlalchemy/util/_collections.py", line 878, in __call__
return self.registry.setdefault(key, self.createfunc())
File "/Users/user/.virtualenvs/myfolder/lib/python2.7/site-packages/flask_sqlalchemy/__init__.py", line 704, in create_session
return SignallingSession(self, **options)
File "/Users/user/.virtualenvs/myfolder/lib/python2.7/site-packages/flask_sqlalchemy/__init__.py", line 149, in __init__
self.app = db.get_app()
File "/Users/user/.virtualenvs/myfolder/lib/python2.7/site-packages/flask_sqlalchemy/__init__.py", line 845, in get_app
raise RuntimeError('application not registered on db '
RuntimeError: application not registered on db instance and no application bound to current context
"यह कभी काम नहीं किया" मैं उस मुद्दे को पुन: उत्पन्न नहीं कर सकता। ऐप संदर्भ को धक्का देना ऐप के साथ प्रारंभ करने के बराबर है। – davidism
मैंने अपने कोड और नाडा में बस हर जगह ऐप संदर्भ को धक्का देने की कोशिश की। – ruipacheco
यह एक और मुद्दा की तरह लगता है। – davidism