私はlarave 5.1をphp5で使用していますが、私は自分のcronジョブを作成して未払いの請求書を削除しようとしていますが、ユーザーログを印刷してジョブが機能していることを確認しています。Laravel Scheduler with Cron Job
これが私のアプリ/コンソール/ Kernel.php
protected $commands = [
\App\Console\Commands\Inspire::class,
\App\Console\Commands\RemoveUnpaidInvoice::class,
];
protected function schedule(Schedule $schedule)
{
$schedule->command('removeUnpaidInvoice')->everyMinute();
// $schedule->command('inspire')->hourly();
}
であり、これは私のRemoveUnpaidInvoiceクラスです:
public function handle()
{
UserLog::create([
'user_id' => '3',
'title' => 'Cron Testing',
'log' => 'Time : ' . date('H:i:s')
]);
}
私のファイルが行われた後、私は私を実行するために、私のターミナルで次のコマンドを実行しますクーロン:私はスケジュールの職人のコマンドを実行した後、その後、私の端末はこのメッセージを表示し
php artisan schedule:run
:
Running scheduled command: '/usr/bin/php5' 'artisan' removeUnpaidInvoice > '/dev/null' 2>&1 &
私は自分のデータベースをチェックしてユーザーログが作成されているかどうかを確認し、作成されているので、ユーザーログはcron経由で新規追加されます。
しかし、問題は、私は1分間待っていて、ユーザログを追加せず、2分、3分待って、別のユーザログがデータベースに追加されていないということですか?
修正方法?私は間違いを犯したのですか?ここで
は、私は私のコンソールで次のコマンドを実行し * * * * * PHP /パス/に/職人スケジュール:実行>>を/ dev/null 2>&1 が、何も起こり、そして * * * * * PHPの職人を実行しますスケジュール:実行>>/dev/null 2>&1 何も起こらない – yudijohn
いいえ、いいえ。 '* * * * * php/path/to/artisan schedule:実行>>/dev/null 2>&1'はcronコマンドであるため、' crontab'になければなりません。 Laravel shedulerはcronのみで動作します。 –
ありがとう、私は私のcrontabを設定する必要がありますか分からない。 – yudijohn