我在项目中使用了laravel 5。我想创建一个用于插入用户的调度程序。在kernel.php中,我输入了我的代码并设置了调度程序。
Displaying Bitmaps Efficiently
我创建了一个名为“InsertUser”的命令类,并将其放在kernel.php $ commands变量中。
在命令行中,我运行了“php artisan schedule:run”。但我发现“没有预定的命令可以运行。”如果我使用调用函数而不是命令函数(在lernel.php中),它工作正常。请帮帮我。
答案 0 :(得分:3)
Laravel Scheduler 需要一个定期运行php artisan schedule:run
命令的cron作业,该命令反过来评估任何已调度的命令并相应地运行它们。
从屏幕截图中我看到您正在运行Windows,这意味着您无法使用文档中Starting The Scheduler部分中的作业代码段,因为没有cron
视窗。由于这一点,任务计划程序不正式支持Windows,并且在文档中没有找到有关它的说明。
但是,您可以通过创建具有以下内容的批处理文件(例如scheduler.bat
)解决问题:
cd c:\lamp\www\larasoft
php artisan schedule:run 1>> NUL 2>&1
然后,您可以每分钟添加一个Windows Scheduler Task来运行该文件。
答案 1 :(得分:1)
Windows确实支持 Laravel Scheduler ,但您必须多次自行运行该命令。由于我们无法使用 Windows任务计划程序每1分钟运行一次,因为我们可以使用linux crontab。如果您正在使用Windows进行开发环境,并且想要测试命令是否正在运行,则可以尝试此
如果你运行
多次执行php artisan schedule:运行
命令,为每个试验提供最小间隙,它将起作用。
如果您想直接运行命令,可以按照此操作。
“path \ to \ php.exe”“artisan”YourCommand> “NUL”2>& 1&
在你的情况下
在命令提示符下运行“where php.exe”
复制php位置
“粘贴\你的\ php \ location”“artisan”InsertUser> “NUL”2>& 1&