Catalyst フレームワークを使用して Web アプリケーションを作成しています。TheSchwartzという Job Queue も使用しています。
Web アプリケーション インターフェイス コードから切り離されたアプリケーション固有のコードが必要なため、ジョブ キューを使用したいと考えています。
基本的に、システム全体は次の 3 つの主要コンポーネントで構成されています。
- GUI (Catalyst Web インターフェイス)
- クローラー
- 「攻撃コンポーネント」 (アプリは、他の Web アプリ/サイトで XSS および SQLi の脆弱性を探すために作成されています)
したがって、理論的には、GUI はクローラーのジョブを作成し、それが「攻撃コンポーネント」のジョブを作成します。
現在、Web アプリのコントローラーがジョブ キューにジョブを追加できるように、TheSchwartz オブジェクトをインスタンス化する Catalyst のモデルがあります。
また、必要なアクションを実行できるように、新しいジョブを継続的にリッスン (/データベースをチェック) するジョブ ワーカー スクリプトを作成する必要もあります。現在、TheSchwartz の DB 固有のものは Catalyst のモデルにあり、Catalyst の外部から簡単にアクセスできないと思いますか?
モデルで TheSchwartz ジョブ キューの DB 接続データを複製してから、ジョブ ワーカー スクリプトで複製したくありません。TheSchwartz オブジェクトの作成を Catalyst の外部にある別のクラスでラップし、現在 TheSchwartz オブジェクトをインスタンス化しているモデルでそれを呼び出す必要がありますか? 次に、それをワーカー スクリプトでも使用できます。または、DB データを構成ファイルに格納し、必要に応じて新しい TheSchwartz オブジェクトをインスタンス化する必要があります (Catalyst/ジョブ ワーカー スクリプト内)。
それとも私はこれを考えすぎていますか?
肉付きの良い Web アプリ アーキテクチャの記事へのリンクも役に立つかもしれません (中程度の複雑さの記事を作成したことはありません..)。
乾杯