3

私のアプリケーションサーバーの要件は次のとおりです。

  1. 携帯電話からセンサーデータを受信する (HTTP を使用)
  2. それらを処理する (python ライブラリ)
  3. モバイル デバイスに通知を送信します (Android デバイスでは通知としてレンダリングされます)。

実装のセットアップ:

上記を行うために、私のサーバーには 3 つのモジュールがあります。

  • Django アプリ モジュール: Android デバイスからサーバーに送信される HTTP 要求に対応するために、推論ライブラリに HTTP インターフェイスを提供します。
  • Python Inference Library : 電話から受信したセンサー データを処理します。
  • GCM App Server Module : 以下で説明

GCM App Server Module : Android を実行しているモバイル デバイスとの間でメッセージを配信するために、Google のサーバー (アプリ サーバーと Android デバイスの間にある) と通信するCCS を使用して GCM メッセージ アプリ サーバーを実装しました。以下は彼らの公式ウェブサイトからのものです(前のリンク):

GCM Cloud Connection Server (CCS) は、Google サーバーへの永続的で非同期の双方向接続を提供する XMPP エンドポイントです。この接続を使用して、サーバーとユーザーの GCM 接続デバイスの間でメッセージを送受信できます。

ドキュメントでは、GCM App サーバーを実装するために参照および使用したサンプルの Python スクリプトが提供されています。この実装は、永続的に実行されるスタンドアロン スクリプトとして実行されます。

Python 推論ライブラリと Django アプリ モジュール: 電話から受信したセンサー データを処理する推論ライブラリを Python に実装しました。Android デバイスと通信するための Django インターフェイスがあります。推論ライブラリは Django アプリ サーバー内にあります。

問題:

GCM App Server スクリプトにはいくつかの関数が含まれており、そのうちの 1 つはsend_message(),Android デバイスにメッセージを送信する関数です。処理済みのデータをデバイスに送信できる場合は、推論ライブラリ スクリプトでこの関数を参照する必要があります。または、永続的なオープン XMPP 接続クライアントを参照してメッセージを送信する必要があります。GCM アプリ サーバー スクリプトに処理コードを配置することは避けたいと考えています。上記を行う方法を見つけるために、私は何週間も立ち往生しています。

現在のセットアップでこれを行う方法はありますか、それとも他のレイヤー/モジュールを追加する必要がありますか?

どんな助けや提案も大歓迎です。

ありがとう。

4

2 に答える 2

1

現在のセットアップでこれを行う方法はありますか?

はい!を使用しmultiprocessingます。この質問の回答を参照してください - Accessing python class variable defined inside the main module of a script

于 2014-09-02T12:12:36.957 に答える