【问题标题】:Laravel 5.3 scheduler Runs once on Windows then ends without any further processingLaravel 5.3 调度程序在 Windows 上运行一次然后结束,无需任何进一步处理
【发布时间】:2017-04-10 03:49:28
【问题描述】:

操作系统:Windows 8.1

Laravel 版本:5.3.15

你好,

让 Laravel 的调度程序在我的机器上正常运行并保持运行有点麻烦,我可以看到某种输出表明它确实在工作。每次我运行php artisan schedule:run 时,它都会调用任何列出的命令一次,然后就死了。它不会重复或任何东西。下面的示例尝试:

守则:

尝试运行调度程序时的结果:

我的尝试:

我已经尝试了以下链接中的多个建议修复,并且实际上在整个 stackoverflow 中也引用了一些修复。包括添加批处理文件,在我的系统验证等中设置 php 的路径等,如 Kryptonit3 在下面的链接中所建议的:

https://laracasts.com/discuss/channels/general-discussion/running-schedulerun-on-windows

但是,没有任何效果。即使在“Windows 任务计划程序”工具中,它也只会运行一次,结束 CLI 中的任何进一步处理,然后关闭窗口。没有实际迹象表明此调度程序无限期地在后台运行(有点像后台作业,只是没有队列)。

问题:

1 - 没有任何指示(回显“我已安排”)我如何知道这是否真的有效?

2 - 为什么尝试运行此命令在成功完成一次后就死掉了。

3 - 当我尝试在 CLI 或 Windows 任务调度程序中使用 php artisan schedule:run 时,我的 Laravel 版本是否与调度程序无法永久运行有关?

4 - 我在这里主要要完成的是系统每分钟都会扫描单个数据库表的字段。我该如何做到这一点?

5 - 有人可以给我一些澄清吗?或者指出我正确的方向,这样我就可以让这个东西真正无限期地运行,而不会在第一次运行后就结束?

注意:我不想为了这么简单的事情使用 Laravel Forge 或任何其他外部服务。我觉得那将是矫枉过正和不必要的。

【问题讨论】:

    标签: php windows laravel laravel-5 laravel-scheduler


    【解决方案1】:

    在进行了一些相当认真的挖掘之后,我发现 Kryptonit3 在他的逐步回答中所说的我引用的所有内容都是正确的。但是,我不知道在使用 Windows 任务计划程序创建新任务后需要重新启动计算机。我以为这会自动发生。如果我知道的话,本来可以为我节省 2 天的调试时间,但无论如何,如果其他人遇到这个类似的问题,他们会知道重新启动计算机。

    参考:

    https://laracasts.com/discuss/channels/general-discussion/running-schedulerun-on-windows

    【讨论】:

      猜你喜欢
      • 2015-01-07
      • 1970-01-01
      • 2019-09-22
      • 2017-11-22
      • 1970-01-01
      • 2011-07-14
      • 1970-01-01
      • 1970-01-01
      • 2017-08-25
      相关资源
      最近更新 更多