2009-07-03 6 views
2

私たちはMVCパターンで構築されたモジュール化されたウェブサイトを持っています。 1分、15分、60分ごとに実行され、毎日実行されるcronjobスクリプトを作成したいと考えています。私たちはcronjobsを必要としています(誰も本当に必要かどうか聞いてみないようにします)。アーキテクチャでのcronジョブの実装?

処理には15分ごとにordersを処理し、60分ごとに新しいuser registrationsを受け入れることができます。

私たちはcontrollers,modelsおよびviewsのフォルダを持っています。これらは明らかに私たちのウェブサイトに適切なファイルを含んでいます。

これは、グローバルなディレクトリ構造である:

 
Root 
- /controller 
- /css 
- /js 
- /model 
- /view 

/JSおよび/ CSSがブラウザで到達することができます。残りはコントローラのアクションによって処理されます。

ここでどこにクロですか?

  1. 既に存在するコントローラ内に別個の機能を作成していますか? (私の好み、コードは論理的にであるはずです)
  2. また、私はcronjobs用の新しいコントローラを作成しますか?
  3. 他に何か..?

答えて

2

あなたが作成したフレームワークを使用しているなら、間違った答えがあるにもかかわらず、この質問に対する「正しい」答えはないと主張します。

オプション1が理にかなっている場合は、チームと一緒に作業している場合は問題ありません。

自分自身で作成したフレームワークでは、cronジョブでは専用コントローラーを作成するだけで十分な処理が必要であることがわかりました。しかし私の場合、私は自分自身でフレームワークを設計しました。私はそれを使用するプロジェクトの唯一のコーダーにいるので、私はそれを正しいと確信していた唯一の人です(私は間違いのために価格を支払うが、それは別の問題である)。

既存のフレームワークを使用している場合は、それを質問に追加し、そのフレームワークのデザインパターンと一致させることをお勧めします。

+0

それは私のものです。問題は、私はそれが可能なURLによってコントローラのアクションを実行することができる '一般的な'ルートを持っています...またはこれは私がちょうどルーティングからそれらのアクションを除外する必要がありますか? – Ropstah

+0

私は信頼できない当事者がそれらを実行しようとしても安全であるように私のcron機能をセットアップしようとします。状況に応じて、権限や時間に基づいて実行するユーザーをブロックすることができます(1時間に1回しか実行されず、出力が表示されない限り、他のユーザーが自動ジョブをトリガーするかどうかは関係ありません)。 – acrosman

+0

私は仕事をしている他の人たちをむしろ持っているだろう...しかし、私はここから管理することができます。ありがとう! – Ropstah