app = Flask(__name__)
app.config.update(
MAIL_SERVER = 'smtp.gmail.com',
MAIL_PORT = 465,
MAIL_USE_SSL = True,
MAIL_USE_TLS = False,
MAIL_USERNAME = '******',
MAIL_PASSWORD = '******'
)
mail = Mail(app)
#CS50.net
def lookup(symbol):
"""Look up quote for symbol."""
# Contact API
try:
response = requests.get(f"https://api.iextrading.com/1.0/stock/{urllib.parse.quote_plus(symbol)}/quote")
response.raise_for_status()
except requests.RequestException:
return None
# Parse response
try:
quote = response.json()
return {
"name": quote["companyName"],
"price": float(quote["latestPrice"]),
"symbol": quote["symbol"]
}
except (KeyError, TypeError, ValueError):
return None
@app.route('/')
def print_date_time():
Symbol = "PG"
Symbol = lookup(Symbol)
msg = mail.send_message(
'PG',
sender='*****',
recipients=['******'],
body = "PG DROP BELOW 91 buy now"
)
scheduler = BackgroundScheduler()
scheduler.add_job(func=print_date_time, trigger="interval", seconds=10)
scheduler.start()
# Shut down the scheduler when exiting the app
atexit.register(lambda: scheduler.shutdown())
Я создаю приложение с Flask, используя Python, которое будет отправлять мне Gmail каждые 10 секунд, если условие будет выполнено.Когда я запустил приложение, я получил это:
"RuntimeError: Working outside of application context.
This typically means that you attempted to use functionality that needed
to interface with the current application object in some way. To solve
this, set up an application context with app.app_context(). See the
documentation for more information. "
Я думал, что ошибка была вызвана моей попыткой отправить сообщение через Gmail, которое находится вне контекста приложения.Есть идеи ??THks