私はこのコードを使って、必要なファイルをロードし、サーバが起動しても内部で必要な情報を表示しますif __name__ == "__main__":
私はバックグラウンドプロセスを開始しています。そして最後にapp.run 。Webアプリケーションが何度も起動します - web.py
私の問題はすべてを読み込んだ後、バックグラウンドプロセスの開始になります。印刷が開始され、最初からすべてが読み込まれます。また、サーバーが最初の要求(GET/POST)を取得したときも同じです。一度ロードするにはどうすればいいですか?
import web
from multiprocessing import Process
import scripts
print 'Engine Started'
# Code to load and print necessary stuff goes here...
urls = (
'/test(.*)', 'Test'
)
class Test():
def GET(self,r):
tt = web.input().t
print tt
return tt
if __name__ == "__main__":
try:
print 'Cache initializing...'
p = Process(target=scripts.initiate_cleaner)
p.start() # Starts the background process
except Exception, err:
print "Error initializing cache"
print err
app = web.application(urls, globals())
app.run()
だからこれは、プロセスを開始し、ローカルホストから要求した後(「エンジン始動」を3回印刷します)3回ロード:?8080 /テストをtは、ER
を=私はthisを通過したが、それはフラスコ内で問題を解決し、私はweb.pyを使用しています
'print 'Engine Started''は' if __name__ == "__main __": ' –
@PadraicCunninghamの中にありませんので、すべての読み込みコードを入れて' if __name__ == "__main__" '? –
'if __name__ ==" __main __ "'の中にあるものだけが、何かがファイルからインポートされたときには実行されません。これは、ファイルを実行する場合にのみ、ファイルを実行するときの中の何かを実行するときにのみ、それを使用する主なポイントです。 –