问题标签 [laravel-scheduler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
289 浏览

php - Laravel 5 任务调度每分钟运行一个任务,无论调用什么方法

我对奇怪的 Laravel 5 行为感到困惑。我将此添加到\app\Console\Kernel.php

我希望每月在我的日志上看到一次活动,但这是我在 log.txt 上得到的:

CROM 作业已执行 @ 2015 年 12 月 29 日星期二 03:32:01 PM

CROM 作业已执行 @ 2015 年 12 月 29 日星期二下午 3:33:01

CROM 作业已执行 @ 2015 年 12 月 29 日星期二 03:34:01 PM

CROM 作业已执行 @ 2015 年 12 月 29 日星期二 03:35:01 PM

CROM 作业已执行 @ 2015 年 12 月 29 日星期二下午 3:36:01

CROM 作业已执行 @ 2015 年 12 月 29 日星期二 03:37:01 PM

CROM 作业已执行 @ 2015 年 12 月 29 日星期二下午 3:38:02

CROM 作业已执行 @ 2015 年 12 月 29 日星期二下午 3:39:01

CROM 作业已执行 @ 2015 年 12 月 29 日星期二 03:40:01 PM

所以每一分钟,不管使用什么方法。实际上使用daily()hourly()根本没有区别。

除了对 Laravel 很陌生之外,我不知道如何解决问题,这对我来说似乎是一个错误......

有什么帮助吗?

0 投票
1 回答
9435 浏览

php - Laravel 调度器时区

如何设置 Laravel 调度程序以在特定时区的特定时间运行任务?服务器设置为 UTC,但我想在Pacific/Auckland时区每周一中午 12 点运行任务。

例如,这会起作用,但时区是 UTC:

0 投票
0 回答
590 浏览

php - 在 laravel 中安排任务的正确方法是什么?

文档中所述,您可以设置一个 cronjob 来执行 laravel 调度程序

我想在每个星期三、每两个小时从 13:00 开始运行任务。

我将调度程序放置在命令内核中,以供我希望任务运行的每一个小时。但这不起作用。

从每周三 13:00 开始,每两小时设置一次时间表的正确方法是什么?

我宁愿不使用 cronjob 表达式 ( * 13,14,15,16,17,18,19,20 * * 3),因为它很混乱。

0 投票
2 回答
1625 浏览

laravel - laravel schedule 命令在随机时间

我有一个奇怪的问题。我使用自定义命令通过 FB api 共享一些 url。

现在这个命令被安排到一个固定的 cron 配置,但我希望这是随机的,可能在时间范围之间。

我尝试在命令中使用随机睡眠功能,但出现了奇怪的行为。

有人已经不得不面对这个问题了吗?

0 投票
5 回答
4622 浏览

laravel - 如何为每小时 15 分钟创建设置的 Laravel 时间表?

我需要每小时 15 分钟运行一些数据更新功能。例如:

  • 12:15
  • 13:15
  • 14:15
  • 15:15

如何为其创建时间表?我尝试了类似的东西,$schedule->command('stats:refresh')->hourly()->at(':12');但没有奏效。

0 投票
2 回答
5759 浏览

php - Laravel 运行多个计划任务

我目前有一个预定的控制台命令,每 5 分钟运行一次,没有重叠,如下所示:

所以它工作得很好,但我目前有大约 220 个页面,需要大约 3 小时才能以 5 分钟的增量完成,因为我只是强制它以每个间隔抓取 10 个页面,因为每个页面需要 20-30 秒的时间来抓取各种因素。每个页面都是数据库中的一条记录。如果我最终要爬取 10,000 个页面,则此方法将不起作用,因为它需要超过 24 小时,并且每个页面应该每天重新爬取一次。

所以我的供应商允许最多 10 个并发请求(或更多计划更高的请求),那么并发运行它的最佳方式是什么?如果我只是复制调度程序代码,如果我复制了 10 次,它是否会运行相同的命令两次或类似 10 次?会导致什么问题?

然后我需要将参数传递给控制台,例如 1、2、3 等......我可以使用这些参数来确定要抓取哪些页面?即 1 将是 1-10 条记录,2 将是接下来的 11-20 条记录,依此类推。

使用这个StackOverfow答案,我想我知道如何传递它,如下所示:

但是我如何在Command课堂上读取该参数?它是否只是成为一个常规的 PHP 变量,即$sequence

0 投票
2 回答
11498 浏览

laravel - Laravel 5 每 30 秒安排一次作业

我正在使用 Laravel 计划来运行 cron 作业。

在我的 crontab 中,我添加了(使用正确的项目路径):

现在我的 App\Console\Kernel.php 看起来像:

像这样使用它,我每分钟都能成功运行作业。但是我如何将其更改为每 10 或 20 或 30 秒运行一次呢?

0 投票
1 回答
1036 浏览

php - Laravel 5.2 调度器

亲爱的 Stackoverflowers,

我创建了 2 个 Laravel 命令,一个用于清除记录数据库,另一个用于发送电子邮件。

如果我分别调用它们,它们会起作用,并且在 app/console/kernel.php 文件中我有这个:

因此,当我运行php artisan schedule:run命令时,它会立即运行 2 个命令并响应以下内容:

但随后它停止了,什么也不做。

所以我的问题是我怎样才能让它工作?我找不到关于 Laravel 的这个部分的任何好的文档,可能是因为它很新。

提前感谢您帮助我。

西奥。

0 投票
1 回答
487 浏览

php - Laravel Scheduler - 使用 emailOutputTo() 时指定发件人

如何为使用Laravel Scheduler的emailOutputTo()方法发送的电子邮件报告指定发件人?

当前from标题为空,我在 Gmail 中看到:

在此处输入图像描述

在此处输入图像描述


我的代码是:


我正在使用带有驱动程序的内置Laravel 邮件提供mailgun程序。

0 投票
0 回答
292 浏览

php - Laravel 4.2 Indatus/dispatcher - 命令未定义

我正在为 Laravel 4.2 使用Indatus/dispatcher。它基本上是一个基于 Cron 作业的任务计划程序。

我正在尝试每分钟运行一次 Cron 作业,并且在实时服务器上遇到此错误(但在我的本地计算机上运行良好)。这是我所做的:

所以基本上,每次调度程序运行时,我只是在我的日志文件(即Storage/laravel.log )中写一行。当我php artisan scheduled:run在本地计算机上执行此操作时,它会在我的日志文件中写入一个新行。

现在,我已经在我的服务器上上传了代码并创建了一个 Cron 作业:

[http://awesomescreenshot.com/09a64zii1f](http://awesomescreenshot.com/09a64zii1f)

Cron 作业按预期每分钟运行一次,日志文件也每分钟更新一次,但不是我在日志文件中写入的消息,而是每分钟写入以下错误:

[2016-09-24 09:20:01] production.ERROR: 异常 'InvalidArgumentException' 带有消息'Command "command:check" 未定义。

你是这个意思吗?

命令:make' 在 /home/mhjamil/public_html/l4-cron/test/vendor/symfony/console/Symfony/Component/Console/Application.php:564

顺便说一句,我已经在app/start/artisan.php 中将命令注册为

Artisan::add(new TestCommand);

该命令php artisan command:check也在我的本地机器上成功运行,但是当我将它上传到我的服务器时,它说Command "command:check" is not defined


还有一件事,在我的服务器上,我添加了一条路线并做了Artican::call("command:check");. 现在,每当我重新加载此页面时,它都会在日志文件中成功记录一个条目。但是通过cron作业完成时会出错。所以我猜这个问题与 cron 作业或服务器设置有关。


我尝试将 cron 命令更改为:

以前我正在使用schaduled:run但仍然是同样的问题:(