我用的是最新版本的“宅地”。我还安排了。我使用Redis作为队列驱动程序。Laravel是5.6版本,是一个新的安装。
正在发生的事情是,我的工作都失败了(即使任务正确地退出)。
通过使用自定义命令,我正在通过命令行运行作业:
vagrant@homestead:~/myapp$ artisan crawl:start
vagrant@homestead:~/myapp$ <-- No CLI errors after running
app/Console/Command/爬行
<?php
namespace MyApp\Console\Commands;
use Illum
我正在尝试实现,当队列作业访问外部API时,这个API是有限的。
我的工作是:
public function handle() {
echo 'about to check throttling'.PHP_EOL;
Redis::throttle('throttle-test')->allow(10)->every(5)->then(function () {
// this is never executed
echo 'doing work
我看不出为什么broadcastOn()没有触发。下面是我的代码:
<?php
namespace App\Events;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
class NotificationEvent extends Event implements ShouldBroadcast{
use SerializesModels;
/**
* Create a new event instanc
我有以下活动:
<?php
namespace SixtyFiveContrib\Events;
use Auth;
use SixtyFiveContrib\Events\Event;
use SixtyFiveContrib\Models\Notification;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
/**
* NotificationEvent
*
*/
class NotificationEvent exten
Laravel 5.2 $this->dispatch未调用句柄函数
我使用下面的控制器
namespace App\Http\Controllers;
use App\User;
use Illuminate\Http\Request;
use App\Jobs\SendReminderEmail;
use App\Http\Controllers\Controller;
use Redis;
class HomeController extends Controller
{
/**
* Send a reminder e-mail to a given user.
每次创建新的市场快照时,我都会尝试播放一个事件。我遵循了的laravel教程。
但是,我似乎遗漏了一些东西,因为即使日志也没有被创建:
namespace App\Events;
use Illuminate\Broadcasting\Channel;
use Illuminate\Queue\SerializesModels;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Broadcasting\PresenceChannel;
use Illuminate\Found
我更新了Laravel5.1到5.2,事件不再广播。
我正在使用Laravel宅基地与php 7和hhvm,Node 5.3.0,Redis 3.0.6。
瑞迪斯很好。(我试过Redis::publish)。
我把这件事炒了,但没有收到任何消息。
事件类
namespace App\Events;
use App\Events\Event;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
class UserSignedUp extends Event
几天前,我实现了一个就业队列,并且在复制方面遇到了问题,我目前正在使用Redis,并遵循Laravel的官方教程。
在我的例子中,每当有人进入主页,一个作业被发送到队列中,让我们以下面的例子为例:
HomeController's index():
public function index()
{
if(/*condition*/){
//UpdateServer being the job
$this->dispatch(new UpdateServer());
}
}
因为这个任务大约需要10秒才能完成,如果在处理任务
在阅读了相当多关于Laravel horizon的Redis队列的文章(Like this one from Zechariah Campbell)并尝试对其进行配置和自定义后,我无法发现是否有可能最大化由laravel Horizon运行的进程总数。 使用“简单”策略,并且每个队列有一个进程(这就是我想要的),当有1000个队列时,可能会导致cpu或内存问题,这将导致1000个进程运行?(默认情况下,每个队列都有自己的进程) 是否有任何方法可以最大化horizon产生的进程总数,而不考虑队列的数量?所以10个队列处理20个队列,当一个队列是空的,或者更好的是一个队列的一个作业被处理了,工人
我想,所以发送短信与nexmo使用Laravel队列与Redis,但有些工作失败,我不明白为什么。在我的本地环境中,我每10s发送1条sms,下面是我工作的处理方法:
public function handle()
{
Redis::throttle('throttle:sms')->allow(1)->every(10)->then(function(){
Log::info($this->notifId." start : ".date('H:m:s'));
在Laravel中进行队列测试时,我使用提供的Queue Fake功能。但是,在某些情况下,我需要为Job类创建一个Mock。 我有以下代码,可以将作业推送到Redis支持的队列中: $apiRequest->storeRequestedData($requestedData); // a db model
// try-catch block in case the Redis server is down
try {
App\Jobs\ProcessRunEndpoint::dispatch($apiRequest)->onQueue('
我有一个laravel事件,它在本地运行良好,但在生产中不起作用。我需要它既能传送给redis也能传送给laravel的听众。向redis广播如预期的那样工作,但laravel侦听器似乎不工作。
以下是该事件的代码:
<?php
namespace App\Events;
use App\Events\Event;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
class UserAlert extends Event implements
Laravel echo服务器已启动,事件已广播,但用户无法加入频道,因此无法收听事件。
1. ExampleEvent file:
class ExampleEvent implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct()
{
我在用C5 IntervalHeap实现C5.IPriorityQueueHandle接口时遇到了问题。我可以使用带有空句柄的堆,使用默认的DeleteMin()等等,但是我希望以后能够通过句柄更新优先级。
下面是我的代码的简化版本,以及异常文本:
异常: C5.dll中发生了“System.InvalidCastException”类型的未处理异常
附加信息:无法将“Handle`1_8_Puzzle.Node”类型的对象强制转换为“HAND8_Puzzle.Node”类型。
public class Node : IComparable<Node>
{
public B
问:如何自定义长时间运行的作业,而不会在每个retry_after秒后多次尝试? 我有一个作业需要1到3个小时才能运行,我已经创建了作业-基于laravel文档,这是我的作业文件。 <?php
namespace App\Modules\Csv\Jobs;
use App\Jobs\Job;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\Interac