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 中运行任务调度程序

Laravel 队列(数据库驱动程序)+ Cron 作业(任务调度程序)堆叠并且在服务器崩溃后不再发送

Laravel 8 任务调度器

windows 怎样在调度线程到多核

Laravel 计划任务(任务调度)的使用

Laravel 计划任务(任务调度)的使用