Cronjob Homestead没有工作

Cqu*_*nce 6 ssh cron command schedule homestead

我已经创建了一个发送自动电子邮件的命令.当我这样做homestead ssh,我运行php artisan emails.send电子邮件到达我的mailtrap.io帐户.

我已将此代码添加到kernel.php中

$schedule->command('emails:send')->everyFiveMinutes();
Run Code Online (Sandbox Code Playgroud)

我把它放在一个5分钟的间隔,只是为了更容易快速测试它.我已经进入了Homestead并表演了

php /home/vagrant/Code/soeptime/artisan schedule:run 1>> /dev/null    2>&1
Run Code Online (Sandbox Code Playgroud)

然后我exit回家了,我做了homestead provision

但是,日志中没有任何内容,我仍然没有收到电子邮件,宅基地现在运行超过15分钟.

Rya*_*yan 8

来自Laravel 文档

Laravel 通过安排一个schedule:runArtisan 命令每分钟运行一次,提供了一种方便的方式来安排 Cron 作业。该 schedule:run命令将检查您的App\Console\Kernel类中定义的作业计划 以确定应运行哪些作业。

如果您希望schedule:run为 Homestead 站点运行该命令,您可以在定义站点时将schedule选项设置为true

sites:
   - map: homestead.test
     to: /home/vagrant/code/Laravel/public
     schedule: true 
Run Code Online (Sandbox Code Playgroud)

站点的 Cron 作业将/etc/cron.d在虚拟机的文件夹中定义。


Can*_*lik 7

您需要手动编辑crontab:

第一:

 crontab -e
Run Code Online (Sandbox Code Playgroud)

然后添加

* * * * * php /home/vagrant/Code/soeptime/artisan schedule:run
Run Code Online (Sandbox Code Playgroud)