问题标签 [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 投票
0 回答
46 浏览

laravel - 有没有办法知道命令是手动触发还是从调度程序触发的?

如果从控制台执行命令以及何时由调度程序执行,我希望有不同的行为。有没有办法从命令 handle() 方法检查这个?

如果从 Laravel 5 的命令行运行,这不是 Detect 的副本

在“标记为重复”中,它回答了如何检测代码是否从控制台运行,但在我的情况下,手动触发和执行的 CRON 都是从控制台运行的,所以不能解决我的问题。

0 投票
1 回答
143 浏览

laravel - 是运行像 Laravel 调度程序这样的内部 cron 服务还是使用像 Easycron 这样的外部服务更好

如果服务器上每分钟运行一个 cron,它会不会给服务器带来很多负载并降低应用程序的整体性能。而且不仅仅是一个,而是多个这样的crons。现在使用 Laravel Scheduler 来做类似的事情。

如果我停止调度程序,而是使用像https://www.easycron.com这样的外部调度服务,它将运行 crons 并使用已设置的 http 方法访问 url。

调用路由到控制器函数,该函数将执行内部 cron 服务将具有的功能。

哪种方法更推荐/建议,为什么?

谢谢

0 投票
1 回答
1175 浏览

laravel - 有没有办法在 laravel 中将参数传递给调度队列作业?

我需要在队列中运行一项工作,这需要很长时间(大约 2 小时)。它检查某些特定服务的可用性。因此,我没有将一项作业运行两个小时,它不断(每分钟)发出一个 API 请求,我想使用laravel 的调度来排队作业。我可以通过 Artisan 助手从任何地方调用调度程序:

这将派遣一份工作。但无法弄清楚,我如何在 kernel.php 中传递参数($arg1,$arg2,..),这是我的工作文件所需要的。

我试图在 schedule 方法中传递 args,但我认为这不是正确的方法。

0 投票
2 回答
720 浏览

laravel - Laravel CPanel Cron Job 命令不运行

我在 Apache/CPanel 共享服务器上为我的 Laravel 应用程序实现 Cron 作业时遇到问题。我有一个任务命令,只要我从命令行运行它就可以正常工作,并且每天调用时也可以正常工作,但它没有按“每天一次”计划运行。

只有当 Laravel 命令也被调用时,Cron Job 才能在每分钟调用时完美运行everyMinute(),如下所示:

cron 调用

服务器时间表* * * * *

Laravel 命令:

问题是我真正想要工作的命令是每天一次,这不起作用。曾经每分钟运行良好的相同命令只是在每天一次时不会被调用,如下所示:

cron 调用

服务器时间表0 0 * * *

Laravel 命令:

或者

有什么问题吗?

谢谢!

0 投票
2 回答
259 浏览

laravel - 是否有可能确保 Laravel 作业实际上在轮次运行?

我想准确地在轮次执行某些工作,每 30 分钟一次,例如:

Kernel.php,我有这份工作...

...在中crontab,我有这个命令...

显然一切都很好,但是如果我停止服务或重新启动服务器,那么这个指令,无论是 inKernel还是 in Crontab,都是正确的,例如,服务器或服务在“12:29”变得可用,我知道命令会从“分钟到分钟”执行,但是这些指令中的“某些东西”会知道下一次执行“应该”在 12:30 或现在的方式,将在 12:29 之后运行“30 分钟”,因此,12 :59?

虽然看起来无关紧要,但我的系统中有任务,需要在这些“回合时间”执行,因为任务“执行时间”决定了将执行什么。

0 投票
1 回答
58 浏览

php - Laravel Mailable 使用正确的模型,然后使用不正确的模型发送第二个不需要的电子邮件

我有一种情况,我正在建立一个 FTP 连接来收集数据,循环通过它注册新的或使用firstOrCreate. 这是每 10 分钟在调度程序上运行一次,我使用 Laravel Horizo​​n 来管理队列。

问题是,当我运行调度程序时,我发送了一份包含正确数据的查询和一份包含错误数据的查询(只有一封电子邮件)。

如果数据不正确但远非理想,我发现了一个使用急切加载和失败的小解决方法。

从下图中可以看出,创建了两个使用不同 ID 的作业。220 正确,29 错误。

当我记录正在循环的内容时,它只显示一项(220)。

我也无法使用命令重新创建错误,因此似乎(尽管未确认)仅在调度程序中发生。

有谁知道为什么会这样?

在此处输入图像描述

0 投票
1 回答
828 浏览

laravel - Laravel 安排推送通知并在必要时取消它

在我的带有 Laravel 的应用程序中,后端用户可以互相发送消息。

我想在新收件箱消息上向应用程序用户发送推送通知,但只有在用户尚未阅读此消息时我才需要发送消息。

所以我是这样看的

  1. 在发送的每条消息上,我需要在 1 分钟后安排 Laravel 通知
  2. 如果用户已经收到此消息,我需要取消此通知

如何关闭 Laravel 中的预定通知?这种方法现在可行吗?

类扩展通知

也许有更方便的方法来处理它?例如,每次发送推送,但如果它已经启动,以某种方式从应用程序中显示它?

0 投票
0 回答
104 浏览

laravel - Laravel 调度器任务动态

我已经在 laravel 中实现了任务计划程序。我的日程表

在这里我已经设置为11AM每天。但我想通过用户仪表板在数据库中配置这个时间。

我怎么做?

我想这样做,

但是,这将继续每分钟击中我的数据库。我不想那样做。

我正在使用 Laravel 5.8;

有人可以帮忙吗?

提前致谢。

0 投票
1 回答
1141 浏览

laravel - AWS 上的 Laravel 调度任务不起作用

我正在将我的 Laravel 应用程序部署到 ElasticBeanstalk 环境中。我正在尝试在服务器上的调度任务中运行命令。但它不起作用。这就是我所做的。

我在 Kernel.php 文件中安排我的命令如下。

我使用 Redis 作为我的缓存驱动程序,它正在工作。

然后我尝试了两种不同的方法。

第一种方法:使用 Laravel AWS Worker 包https ://packagist.org/packages/dusterio/laravel-aws-worker

我按照文档中提到的说明安装了软件包。

然后,我将 CSRF 中间件中文档中提到的工作路由列入白名单。

然后我在项目的根文件夹中创建了一个 cron.yml 文件,其中包含以下内容。

然后我部署了我的应用程序。但是调度任务不起作用。所以我尝试了第二种方法如下。

第二种方法:使用 Crontab

我创建了一个包含以下内容的 .ebextensions/cronjob.config 文件。

然后我部署了我的应用程序。第二种方法也不起作用。我的配置中缺少什么以及如何使其正常工作?

这是我的另一个 cronjob.config 文件。

0 投票
1 回答
602 浏览

laravel - 运行任务调度,Laravel

如果我运行手动命令,我有一个可以工作的任务调度:php artisan word:weeklyUpdate,但这必须在特定日期自动完成,所以我尝试运行* * * * * cd /var/www/html && php artisan schedule:run >> /dev/null 2>&1,但我得到了Command 'app' not found, did you mean:

内核.php

更新:sudo php artisan schedule:run得到"No scheduled commands are ready to run."