windows 怎样设置laravel 任务调度
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows 怎样设置laravel 任务调度相关的知识,希望对你有一定的参考价值。
参考技术A 你好,设置方法如下:namespace App\Console;
use DB;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel
/**
* 应用提供的Artisan命令
*
* @var array
*/
protected $commands = [
'App\Console\Commands\Inspire',
];
/**
* 定义应用的命令调度
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
$schedule->call(function ()
DB::table('recent_users')->delete();
)->daily();
除了调度闭包调用外,还可以调度Artisan命令和操作系统命令。例如,可以使用command方法来调度一个Artisan命令:
$schedule->command('emails:send --force')->daily();
exec命令可用于发送命令到操作系统:
$schedule->exec('node /home/forge/script.js')->daily();
如何使用 Laravel 在 Windows 10 中运行任务调度程序
【中文标题】如何使用 Laravel 在 Windows 10 中运行任务调度程序【英文标题】:How to run task scheduler in windows 10 with Laravel 【发布时间】:2016-07-18 05:44:12 【问题描述】:我只是想问一下如何在windows机器(我的本地机器)上使用它的任务调度功能。
我已经阅读了它的文档,并且注意到它使用的是 Cron。
非常感谢任何帮助。
【问题讨论】:
或许能帮到你***.com/questions/7195503/… 经过大量研究,我找到了适用于 windows server 的解决方案,请参阅此处我分享了有关如何在 windows server 中使用 Laravel 调度程序的完整详细信息。 ***.com/a/69954322/14344959 【参考方案1】:要在 Windows 10 中运行 Laravel 调度程序,您需要:
-
创建批处理文件,比如这个并保存:
cd c:\laravel-project\
c:\php5\php.exe artisan schedule:run 1>> NUL 2>&1
转到 Windows 10 任务计划程序(快速方法是按 Win+R
并输入 taskschd.msc
)。
单击Create basic task
,选择When I logon
触发器,然后选择Start a program
-> 您的.bat
文件。
勾选Open properties dialog
选项并点击Finish
。
在任务属性中点击Triggers
,然后点击New
并添加新触发器Repeat task every - 1 minute
。
现在这个任务将每分钟运行一次 Laravel 调度程序。
【讨论】:
我需要放我的php.exe的路径还是我的项目的路径? 如果您询问第 1 步,那么答案将是 - 两者都有。请看第 1 步:cd
命令会将当前目录更改为您的项目目录。然后你需要使用php.exe
文件的路径。
我的 .bat 文件的内容是什么?我仍然对这两条路径感到困惑。
我认为第 1 步很清楚。我会给你另一个例子,也许它会对你有所帮助:.bat
文件的第一行:cd c:\myprojects\mylaravelproject` and second line
c:\php5\php.exe artisan schedule:run 1>> NUL 2>&1`
为了它的价值,我今天也必须解决这个问题。我使用了 Alexey 的解决方案,只做了一点小改动。我在 Win 10 机器 Laravel 5.3 上运行 XAMPP。我按照他的概述创建了批处理文件和任务,但将 .bat 的第二行更改为“php artisan schedule:run”。像魅力一样工作。此外,我将 .bat 放在我的项目根目录中,只是为了将所有内容都放在一个位置。希望这可以帮助其他尝试做同样事情的人。【参考方案2】:
我还是没有运行调度,解决方法就是在路径中加/d
cd c:\laravel-project\
在
cd /d c:\laravel-project\
【讨论】:
以上是关于windows 怎样设置laravel 任务调度的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Laravel 在 Windows 10 中运行任务调度程序