Python: 2.7.3
Flask: 0.9
こんにちは、を使ってカーシミュレーターを作りたいですApscheduler
。各車にはdistance
、データベースに定期的に増分される列があります。
これがインポート部分です
from __future__ import with_statement
from flask import Flask, request, session, g, redirect, url_for, \
abort, render_template, flash, views
from sqlite3 import dbapi2 as sqlite3
from contextlib import closing
from apscheduler.scheduler import Scheduler
コードのスニペットは次のとおりです。
sched = Scheduler()
sched.add_interval_job(moveAllCars, seconds = 5)
sched.start()
def moveAllCars():
print "debug 1"
dbCommand = g.db.execute('SELECT CarID FROM Car')
print "debug 2"
#and so on
「debug1」の直後にエラーメッセージが表示されたため、完全なコードを記述しませんでした。ロガー「apscheduler.scheduler」のハンドラーが見つかりませんでした。Googleはあまり役に立ちません。
しかし、スケジューラーはまだ実行中であり、5秒ごとに「debug1」のみを出力します。エラーメッセージは、最初のループでのみ表示されます。
誰もが解決策を知っていますか?前に感謝します
[アップデート]
を使用した後logging
、それがRunTimeErrorであることがわかりました:リクエストコンテキストの外で動作しています。で使用する以外に他の解決策はありますapp.test_request_context
か?