2

プロジェクトに CodeIgniter を使用しています。私は私からこの障害物を持っています..

私のコントローラーには、毎時間呼び出したいこのメソッドがあります。それを次のようにしましょう:

class Notifs extends CI_Controller {

    public function __construct() {
        parent:: __construct();
        // load stuff here
    }

    public function index() {

    }

    /* I want to call this function on an hourly basis */
    public function check_overdue_stuffs() {
        // do the checking here
    }

}

これを実装する方法がまったくわかりません。私は使ってみsleep($seconds)ましたが、それはただの混乱でした。

これを行うための完全に素晴らしい方法のアイデアはありますか? 詳細な例は素晴らしいでしょう。ありがとう!

4

1 に答える 1

3

これは非常に簡単ですが、PHP コードにそのまま保持することだけを考えてはいけません。cronjob スクリプト (Linux) または同等の Windows (ソフトウェアが存在するサーバー上) を使用する必要があります。

特定の cli メソッドをプルするために追加する単純な cron を次に示します。

# hourly cron
0 * * * * php /www/ciWebsite/index.php [controller] [method] >/dev/null 2>&1

そうすれば、コントローラーと必要なメソッドが実行され、出力がダンプされます/dev/null

実行してみて、動作/www/ciWebsite/index.php notifs check_overdue_stuffするかどうかを確認してください(明らかにパスを更新してください)

編集

  • 余分なエントリを修正しました(cli =フォルダー+コントローラー+メソッドがありました)
于 2014-02-24T05:17:15.670 に答える