私は/ app/Http/Controllersのlaravelプロジェクトにコントローラを持っています。 コントローラがtransferDataControllerを呼び出しました。Laravel Cron Jobs - コントローラ機能
<?php
namespace App\Http\Controllers;
use DB;
class TransferDataController extends Controller{
public function moveStTempSales(){
// then a lot of queries.
}
}
この機能は15分ごとに呼び出す必要があります。ボタンまたはいくつかの要素にURLを使用してAPIを呼び出さずに。私はLaravel Scheduleについて読んでいました。 Laravel 4で動作しますか?そしてもしそうなら、どうすれば私の場合にこの機能をスケジュールすることができますか? 私は、サーバーのcronジョブについてよく知っています。あなたはcronの上で呼び出される関数を含むクラスファイルを作成することができます作成し、このフォルダに
yourproject /アプリ/コンソール/コマンド
:
私はそれはコントローラのアクションにあまりにも多くのロジックを置くために悪い習慣だと思います。それをライブラリクラス関数に移動し、コントローラとCLIコマンドの両方から同じ関数を呼び出してから、そのCLIコマンドをcronから実行することができます。スケジューラがL4で利用可能かどうか分かりません – apokryfos
リファクタリングがオプションでない場合は、いつでも 'curl http:// host/TransferData/moveStTempSales'をcronタスクに追加できます。 – apokryfos