前提・実現したいこと
requests.postでPostするときにほかの処理を妨げたくない
あるデータを用いてRasberryPi3Bで処理をさせています。
処理の結果をgooglesheetにPostして記録しています。
しかし、Urwindを用いてTUIを実装しているが、Postする際固まってしまう。
Postは結果を別に返す予定はないので裏でやって勝手に終了してくれたらいい。
発生している問題・エラーメッセージ
並列処理でできるかと思ったがほかの処理が妨げられてしまう
試したこと
python
1#該当箇所のみ抜き出し 2import requests 3import multiprocessing 4#プロセスを作る 5p = multiprocessing.Process(target=self.PostLog, args=(data,)) 6#プロセスを実行 7p.run()#かたまる 8#p.start()#その後に実行されるものの挙動がおかしい 9 10#dataを加工してPOSTする 11def PostLog(self,data): 12 13 requests.post(URL, json = data)#省略
WriteLogは受け取ったDataをPostする関数です。実際はdataを加工してPostしています。)
p.runは固まりました。
p.startはその後に実行しているものが正常に処理できなくなりました。(機器からデータを取っています。)
しかしながら、Postがおわると機器から正常にデータを持ってこれるようになりました。(Prosessが終わるまでおかしい様子)
その他
Pythonは勉強しながらの利用です。
常に使われている方からすれば当たり前な内容かもしれませんがご教示お願いいたします。
補足情報(FW/ツールのバージョンなど)
Rasberry Pi3 B
Python2.7.13
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/28 08:36
2018/07/28 08:41
2018/07/28 11:44