私はec2-user
のAWS EC2インスタンスで1月1日にcronジョブを設定しようとしています。 私はcrontab -u ec2-user -l
を行うと、それは次の出力を示しています。Linux AMIでLaravelアプリケーションの年間cronジョブをスケジュールする方法は?
* * * * * usr/bin/php /var/www/html/artisan schedule:run >> /dev/null 2>&1
をしかし、以下は、Kernel.php
に設定ジョブが解雇されなかったにもかかわらず:
protected $commands = [
// Commands\Inspire::class,
Commands\TestYearlyJob::class,
];
protected function schedule(Schedule $schedule)
{
$schedule->command('table:test-yearly-job')->cron('0 0 1 1 *')
->timezone('Europe/London')
->appendOutputTo('../taskscheduler.log');
}
コマンド自体が職人から実行(I 'veダブルチェック)、そのロジックは正常です。
->yearly()->at()
スケジューリングオプションを使用する方法があるのでしょうか?またはclosure
真実試験では?しかし、私はwhen()
ステートメントのためにそこに置くべきか分からない。助けてください。
世界のどこにいるかによって、すでに1月1日00:00を過ぎているか、まだ発生していない可能性があります。どのようにそれをテストしていますか? –
私は自分のサーバー(ロンドン地域にある)にSSH接続した後、タイムゾーン(ヨーロッパ/ロンドン)の正しい日付を返します。編集:それは過去00:00 1月1日です。 – omrakhur
@omrakhur 1月1日のシナリオを、過去00:00に再テストする方法を教えてください。 –