2012-02-12 7 views
1

私はジョブを実行するために一連のワーカーが必要なキューシステムを作成しています。キューについては、AmazonのSQSを使用する予定です。私の労働者にとっては、コアアプリケーションがCodeigniterも使用するため、Codeigniterのインスタンスを実行したいと思います。コア・アプリケーションのモデルとそのモデルを共有したいと思います。Codeigniter CLIデーモン

私は、CIのCLI(http://codeigniter.com/user_guide/general/cli.html)を使用してコントローラメソッドをヒットすることが可能であることがわかります。しかし、私がそれらを殺さない限り、これらの労働者は絶えず走るべきです。私はphpを使ってデーモンを設定する方法についてこの記事を調べました:http://kevin.vanzonneveld.net/techblog/article/create_daemons_in_php/この方法では、このクラスを使用する必要があります:https://github.com/kvz/system_daemon

デーモンとしてCIインスタンス全体を起動するために、CIのコントローラ内でシステムデーモンを呼び出して実行する必要があるかどうかわかりません。あるいは、私がCIメソッドへの呼び出しをデーモンとして確立し、 'System Daemon'クラスを全く使わないようにするコマンドラインアプローチがありますか?私が知っておくべき事項は何ですか?実行中のデーモンを作成したことはありません。プロセスを再起動するためにcronタブしか使用していませんが、私の場合は動作しません。

+0

これは私が推測する落ち着きの問題です。だから私は、質問は "デーモンとしてcodeigniterのインスタンスを実行するにはどうすればいいですか?" – phirschybar

答えて

0

誰かが適切にcodeigniterをデーモンしているかどうかはわかりません(私は多くの人が試したことを読んでいます)。 私はあなたと同様の状況にあり、SQSを絶えずチェックしているシステムデーモンクラスを使用して終了し、system()経由でCLIコードを呼び出し、パラメータとしてメッセージを渡しました。 私のアプローチは、問題なしで〜10ヶ月間動作し、〜30-40kメッセージを1日に配信します。

+0

サンプルコードやチュートリアルを入手しましたか/これを実装する方法を書いてください。ありがとう –