问题标签 [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.
php - 使用 Laravel Scheduler 时视图未导出到文件
我有 php 文件模板,我需要填写一些数据并导出为“rendered_view.php”。它需要每天自动完成。所以我正在尝试使用 Laravel 调度程序。
所以我有:
查看“view_to_render.blade.php”
控制器“MiscController.php”
路线
控制台/内核.php
场景 1:如果我导航到127.0.0.1:8000/testRenderView,它正在工作,并且文件 render_view.php 保存在公用文件夹中,其中包含预期的内容:
场景二:如果被调度器执行(13:00),返回错误:
local.ERROR: Illuminate\View\Engines\PhpEngine::main(): 无法打开所需的 'includes/php_file.php' (include_path='.:') {"exception":"[object] (Symfony\Component\Debug \Exception\FatalErrorException(code: 64): Illuminate\View\Engines\PhpEngine::main(): 未能打开所需的 'includes/php_file.php' (include_path='.:')
看起来当它从调度程序执行时,Laravel 尝试将视图呈现为真实视图。我也尝试创建工匠命令,但行为是相同的。当我在控制台上执行命令时工作正常,但当我从调度程序调用命令时却不行。知道为什么会这样吗?
laravel - 如何使用 Laravel 任务调度将参数传递给命令
作为官方文档,它并没有太多提及这一点。
App\Console\Commands\PullUsersCommand.php
有一个签名,如:
那么,如何将参数传递给它App\Console\Kernel.php
laravel - 在 Laravel Schedule Job 中使用配置文件
我可以在调度作业开始时加载配置文件吗?
我尝试customerName
在 Schedule Class 中使用一个局部变量,它已经在 Config 文件夹中定义为 named customerInfo
。
但它没有奏效。
我必须在构造函数中声明它还是必须使用'\'
as'\Config'
即使已经将别名声明为use Config;
?
当计划作业开始运行时,在 Config 中使用自定义变量的最佳简单解决方案是什么?
laravel - Laravel 计划任务在午夜停止运行
我们有两个相同的 Laravel 环境,运行完全相同的配置,甚至是相同的 Laravel 应用程序构建。
后端 Laravel 工作应用程序有两个实例,因此我们onOneServer()
用于每个任务。工作人员也在运行 Horizon 队列。
UTC 前几天晚上的午夜,生产工人停止运行一些任务,而开发工人没有。第二天午夜它又开始了,两天后午夜它停止了。
Horizon 的使用(生产比开发更多)是否会对将任务锁定给一名工作人员造成任何影响,甚至阻止它启动?
laravel - 当数据库 Laravel 5.4 发生变化时如何调度调用函数
当数据库发生变化时,我正在设置一个新应用程序;我需要在后台或后端调用一个函数,该函数从数据库返回一些 id 和数据。
也许有人可以帮我写一个好的 cron 工作。
当数据库发生变化时,Laravel 调度程序调用函数。
php - 每隔 10 分钟执行两个任务的 cron 作业行为,间隔为 8 小时
我正在使用 Laravel 计划任务,并且我有两个 cron 作业:
一个人必须在 00:10 运行
还有一个在 08:00
我想知道我是否将我的 cron 工作设置为:
*/10 * * * * php .../artisan schedule:run
这会运行我的工作吗?如果这个 cron 作业在以下时间运行会怎样:01:05、01:15、01:25,... 如果从那时起它会在 00:10 运行我的作业吗?
对于这种情况,还有什么是最好的 cron 工作?
laravel - Laravel:检查是否有新项目添加到 db 表并安排一个工作给用户发送电子邮件
我想在我的 Laravel 应用程序的表中添加新行时触发一封电子邮件。但是我想添加一个缓冲区,所以如果快速连续添加 5 行,那么只会发送 1 封电子邮件。
我选择的方法是每 15 分钟安排一次检查,看看是否添加了新行。如果有,那么我将排队发送电子邮件。
目前我的日程安排有误。我将在下面运行我的代码:
在我们设置时间表的Kernel.php中,我有:
我用它来触发在App\Jobs\ProcessActivity.php中找到的作业:
我在上面发布了我的完整代码,其中还显示了我的 JobItems 和 Project 模型之间的关系。正如我在代码中评论的那样,我不会详细说明。
问题
当我在 JobItem 表中添加新行时,我可以看到作业已安排并处理(使用 Laravel Telescope 进行检查)。
但是,我还可以在我的日志中看到,对于每个作业,我都会收到两条日志消息:
首先:“失败”,然后是“活动作业运行”
我的电子邮件没有发送,我不确定如何确定失败的原因。
所以似乎 onFailure 被触发了,我的 ProcessActivity 有问题。
任何关于我哪里出错以及如何确定错误的线索将不胜感激。
laravel - laravel 什么时候执行 yearly() 函数
laravel 什么时候执行它的任务调度的 yearly() 函数?是从第一次使用还是每年 01.01.YYYY 开始?
我检查了 laravel 文档和几页,但我无法找到这个问题的答案。
我希望它在 01.01.YYYY 上运行。
laravel - 在添加和运行另一个任务之前检查调度程序任务的状态
我对laravel 框架中的任务调度有疑问。我已经在控制台命令列表中定义了currency:update
命令currency:archive
。现在,我想在 schedule 方法中运行这两个命令,但条件如下:
如果这是运行命令的时间,在前一个命令(即)结束之前currency:archive
不要运行另一个命令;否则运行命令。currency:update
currency:archive
currency:update
这是我当前在 schedule 方法中的代码:
我应该如何修改它?
谢谢。