1

DataObject端末から長時間実行されるプロセスとして実行できる SilverStripe インスタンスから sにアクセスできる Ratchet WebSocket サーバーを実行しようとしています。

私の現在のアプローチは、リードを取り、で定義されているのと同じデータベース構成を使用して、データベースをcli-script.php含めcore/Core.phpて接続することですmodel/DB.php_config.php

からコードをコピーする必要のない、これを行うためのより良い方法はありcli-script.phpますか? 私が持っていたのは、サーバーを起動するコントローラーだけでしたが、それも間違っているように聞こえます。

もう 1 つの考えは、それらを分離し、SS REST API を使用してそれらの間で対話することでしたが、代わりに PHP オブジェクトと対話する方が簡単です。

4

1 に答える 1

1

最後に、設計を完全に変更し、すべてのメッセージを SilverStripe インスタンス (クライアントからの Ajax) 経由で送信し、WebSocket メッセージを REST API 経由でプッシュしました。

このようなプロセスのホスティングを検討しているときに、システムのリアルタイムの側面に現在使用している Pusher に出くわしました。

要するに:

  1. JS クライアントは、Ajax を使用して SilverStripe アプリに変更を通知します。
  2. SilverStripe アプリは変更をデータベースに保存します。
  3. SilverStripe アプリは、API / PHP ライブラリを使用して Pusher 経由でメッセージをプッシュします。
  4. プッシャーは、WebSocket 接続を介して、接続されている他のすべてのクライアントにメッセージを送信します。
于 2014-06-10T14:56:05.747 に答える