2017-01-09 26 views
0
  1. 私は、「GET」と「POST」メソッドで着信データを処理するためにweb.pyを使用し、app.run()を使用します。このルックスはループで実行され、決して停止しません。web.pyでバックグラウンドジョブを実行するには?

  2. また、ポート "9xxx"を検出し、着信データを処理するバックグラウンドジョブがあります。msgを他のサーバーに送り、msgを電話にプッシュします。私はまたこれを行うためにwhile(true)ループを使います。

(2)を(1)に統合するにはどうすればよいですか?よくわかりません。

私はrun(1)と(2)を別々に計画していましたが、データ交換があるのでコードを書くのが簡単ではありません。 web.pyユーザーはどのようにこれらの同様のことをしますか?

+0

今、私は、web.pyフレームワークの下でバックグラウンドジョブを実行する方法がないことに気付きました。マルチプロセスを使ってバックグラウンドジョブを開始し、キューを使用してweb.py間のメッセージを処理します(またはuwsgi + nginxなどを使用します)。私のタスクは少ししかないので、web.pyを使用したいと思います。 –

答えて

0

私は、これはあなたが欲しいものだと思う:

nohup python web.py > web.log 2>&1 & 

が製造においてnohup wikiman page

をチェックアウト、私はuwsgiとweb.py組み合わせたいとnginx.Youはthisを読んで持つことができます試してください。そして、私は彼らが終了した後にサーバを再起動するためにsupervisordを使用します。

+0

ありがとう!私の場合は、プログラム(2)はGETまたはPOSTを持っていないが、他のユーザ定義のフォーマット(もちろん、tcp/ipとsocketを使用する)である。サーバにデータを送信するリモートデバイスと通信します。私は既にサーバーがデータを受信して​​取得できるようにしますが、while(True)ループを使用してデータを読み書きします。しかし、単にweb.pyでapplication.run()を実行するだけでいいのではないでしょうか。 –

+0

あなたの答えは役に立ちます!また、私はこの問題を解決しました。マルチプロセッシングを使用して2つのタスクを開始し、他のポートで待機するタスクを開始し、app.runを使用して80 port POST/GET msgを処理します。 nohupを使用してそれらを実行します。ありがとう! –

+0

@NickQianこれが役に立ちましたら、この回答を受け入れてください。 – McGrady

関連する問題