问题标签 [laravel-jobs]
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 Horizon 作为后台服务运行
我的问题是运行基于 Laravel Horizon 的工作人员的最佳和简单的方法是什么?
我的技术栈
- 拉拉维尔 5.5
- 地平线
- Redis 队列
- 森托斯
我已经浏览了文档https://laravel.com/docs/5.5/horizon
如何设置以下主管,如上面的
主管配置链接中所述
注意:我有自己的带有 php 7.1 的自定义构建服务器,后来我安装了 Horizon 来运行我的作业并维护队列。
关于如何运行工人或我应该在哪里配置以上主管配置的任何建议?
php - Laravel 5.4 中不存在“--queued”选项
我要为邮件创建队列作业。一旦我在命令提示符下点击了工匠命令,php artisan make:job SendSMSMessages --queued
我就遇到了如下问题。
“--queued”选项不存在。
我正在使用 Laravel 5.4
请任何人都可以帮助我。我进行了很多搜索,但没有找到任何好的解决方案。
谢谢
laravel - 我如何在 Laravel 中分派一份工作
我总是收到上述错误,现在我想在工作中同时使用 Dispatchable 和 DispatchJobs,我该怎么做?任何帮助或指导将不胜感激。在 Laracasts 上寻找了一些解决方案,但没有一个有效。
laravel-5.5 - Laravel 5.5 作业链接:调用未定义的方法 ::chain()
我有两个工作,第一个需要在运行前调度第二个,我找到了工作链但不能让它工作,所有工作都是从盒子里设置的,所以理论上它应该可以工作。这是我的第一份工作:
第二个:
当我尝试使用链分派作业时,像这样:MCSendJob::dispatch()->chain([new MCCheckJob('mcdb')])
,或者这样:MCSendJob::withChain([new MCCheckJob('mcdb')])->dispatch();
我得到下一个错误:Call to undefined method App\Jobs\MCSendJob::chain()
。我在Illuminate\Foundation\Bus\PendingDispatch
.
无法弄清楚 - 问题出在哪里。
laravel - 主管运行两次的 Laravel 队列 - 第一次没有记录
因此,我将 QUEUE_DRIVE 配置为redis
.
queue.php
: _
主管配置如下:
command=php /home/xxxxx/domains/xxxxx/public_html/artisan queue:work redis --sleep=3 --tries=5 --timeout=500
作业是这样分派的:
我需要--tries
更大的参数,因为有多个用户同时执行此操作。
问题
在工作中,我有一个Log::Debug
. 1 分钟后调度作业 - 订单进来 - 不存在调试日志记录。很长一段时间(500 秒)后,作业再次分派,这次使用Log::Debug
.
到底发生了什么?工作没有失败。它如何在不访问Log::Debug
但执行其他方法的情况下运行?
php - Laravel - 排队的电子邮件不起作用
我有一个发送多封电子邮件的应用程序,有时它会返回一个超时错误。所以我认为解决方案是在后台发送排队的电子邮件,但我在实现它时遇到了问题。
例如,在我的控制器中,我有它并且可以工作:
接下来我创建一个Job SendStartPatEmail
并添加:
在控制器中,我删除 Mail::send 并添加:
当我运行此作业时,作业是在作业表中创建的,但不发送电子邮件,并且尝试列是 0 。
这不会返回任何错误。
我做错了什么?
php - Laravel - 自动执行排队的作业
我有工作要发送几封电子邮件。
在我的控制器中,我称之为工作:
记录保存在表作业中。
但要执行这项工作,我必须php artisan queued:work
手动运行。我怎样才能自动做到这一点?
laravel - Laravel Job 无法识别对象属性
我正在将请求传递给工作类,以发送电子邮件以获取联系表。问题是我无法直接访问该属性。
我将构造函数中的 $request 设置为$this->request = $request;
在handle()
方法中,我这样做:
\Log::info('job-contact-request', ['request' => $this->request]);
日志吐出:
[2018-06-30 14:07:34] local.INFO: request {"request":"[object] (App\Events\ContactRequestValidated: {\"request\":{\"client_name\":\"Daniel \",\"client_email\":\"email@email.com\",\"client_phone\":\"1234567891\",\"client_text\":\"blargle carble darble zarble\"},\"socket \“:无效的})”}
这表明 client_email 已设置。但是当我尝试访问时$this->request->client_email
,我得到:
[2018-06-30 14:15:30] local.ERROR: 未定义属性:App\Events\ContactRequestValidated::$client_email {"exception":"[object] (ErrorException(code: 0): Undefined property: App\ Events\ContactRequestValidated::$client_email at /var/www/site/laravel/app/Jobs/SendContactRequestEmail.php:36) [stacktrace]
laravel-5.4 - __construct() 方法调用但 handle() 函数未在 laravel 作业中调用
我正在尝试通过dispatch()
使用方法执行作业
- 拉拉维尔 5.4
- redis 服务器
- 导师
我已经完成了queue
类似的配置'default' => env('QUEUE_DRIVER', 'redis')
。
- 我在我的
app/Services
文件中调用 dispatch() 方法
调度(新的 SavePropertyImages($pid_list));
以下是我的工作文件
/li>app/Jobs
:
当我调用一个dispatch(new SavePropertyImages($pid_list))
方法时,作业的__construct()
方法调用,但它不调用handle()
函数。
你有什么想法?
laravel - 如何在 x 分钟后重试作业?
我需要在失败后 7 分钟后重试作业。我尝试过,$this->release(7);
但有时这项工作会运行超过 1 次。