Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Laravel -调度作业时出现Redis错误

Laravel -调度作业时出现Redis错误
EN

Stack Overflow用户
提问于 2021-07-30 05:33:03
回答 2查看 397关注 0票数 1

在我负责的一个系统上,有时由于Redis的连接问题,一些作业没有被调度,这最终会向用户返回一个错误,在我们这边,我们可以忽略这个错误,只是错过了这个作业,我在Google上寻找如何处理它,但我没有找到任何关于它的东西。

代码语言:javascript
运行
AI代码解释
复制
public function sendMessage(Request $request, Model $model)
{
    // Do the necessary stuff
    
    ResolveMessageBilling::dispatch($model, $request->all());

    return response()->json([
        'message' => 'The message was succesfully sent'
    ], 200);
}

这就是我们得到的错误:RedisException - socket error on read socket

如果发生错误,如何忽略它?一个简单的try/catch就能解决这个问题吗?

代码语言:javascript
运行
AI代码解释
复制
public function sendMessage(Request $request, Model $model)
{
    // Do the necessary stuff

    try {
        ResolveMessageBilling::dispatch($model, $request->all());
    } catch(\Exception $e) {}

    return response()->json([
        'message' => 'The message was succesfully sent'
    ], 200);
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-08-12 06:41:35

如果要绕过任何错误,则应使用\Throwable而不是\Exception

代码语言:javascript
运行
AI代码解释
复制
public function sendMessage(Request $request, Model $model)
{
    // Do the necessary stuff

    try {
        ResolveMessageBilling::dispatch($model, $request->all());
    } catch(\Throwable $e) {}

    return response()->json([
        'message' => 'The message was succesfully sent'
    ], 200);
}

请参见错误层次结构:https://www.php.net/manual/en/language.errors.php7.php

如果您只想绕过\RedisException,您应该能够使用:

代码语言:javascript
运行
AI代码解释
复制
public function sendMessage(Request $request, Model $model)
{
    // Do the necessary stuff

    try {
        ResolveMessageBilling::dispatch($model, $request->all());
    } catch(\RedisException $e) {}

    return response()->json([
        'message' => 'The message was succesfully sent'
    ], 200);
}
票数 1
EN

Stack Overflow用户

发布于 2021-08-15 20:17:00

如果您不想设置Redis,只想修复/删除错误,请遵循本文:https://laravel.com/docs/7.x/errors

如果您想正确设置Redis(配置-> detabase.php),请执行以下几个步骤:

代码语言:javascript
运行
AI代码解释
复制
'redis' => [

    'client' => 'predis',

    // Keep Default as is you want to use both redis and sentinel for different service(cache, queue)'
    'default' => [
        'host' => env('REDIS_HOST', '127.0.0.1'),
        'password' => env('REDIS_PASSWORD', null),
        'port' => env('REDIS_PORT', 6379),
        'database' => 0,
    ],

    // Create a custom connection to use redis sentinel
    'cache_sentinel' => [
        // Set the Sentinel Host from Environment (optinal you can hardcode if want to use in prod only)
        env('CACHE_REDIS_SENTINEL_1'),
        env('CACHE_REDIS_SENTINEL_2'),
        env('CACHE_REDIS_SENTINEL_3'),
        'options' => [
            'replication' => 'sentinel',
            'service' => 'cachemaster'),
            'parameters' => [
                'password' => env('REDIS_PASSWORD', null),
                'database' => 0,
            ],
        ],
    ],
],

如果您需要Redis sentinal缓存,可以创建新的缓存连接来使用上述sentinal连接,如下所示:

‘'stores’=[

代码语言:javascript
运行
AI代码解释
复制
//Default config
'redis' => [
    'driver'     => 'redis',
    'connection' => 'default',
],

// Custom cache connection(according to you)
'sentinel_redis' => [
    'driver'     => 'redis',
    'connection' => 'cache_sentinel',
],

在laravel应用程序中,您可以通过缓存外观轻松使用:

代码语言:javascript
运行
AI代码解释
复制
Cache::store('sentinel_redis')->get('key');

在正确配置Redis之后,再次使用清除服务器缓存进行测试

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68591838

复制
相关文章
Android开发工程师文集-Android知识点讲解
大家好,我是 Vic,今天给大家带来Android开发工程师文集-Android知识点讲解的概述,希望你们喜欢
达达前端
2019/07/03
4140
Android之控件与布局,结构知识点,基础完结
在Android中我们常常用到很多UI控件,如TextView,EditText,ImageView,Button,ImageButton,ToggleButton,CheckBox,RadioButton等等这些可以自己多用就会了。
达达前端
2019/07/03
1.2K0
Android之控件与布局,结构知识点,基础完结
为什么OpenCV计算的帧率是错误的?
 点击上方“LiveVideoStack”关注我们 ▲扫描图中二维码或点击阅读原文▲ 了解音视频技术大会更多信息 ---- 作者:王伟 编辑:Alex   引 言   我们有一个平台来周期性地对线上的直播流数据进行某些检测,例如黑/白屏检测、静态画面检测……在检测中,我们会根据提取到的直播流的帧率来预估要计算的帧数量,例如,如果要检测5s的直播流,而该直播流的帧率为20fps,需要计算的帧数量则为100。忽然有一天,我们发现,平台开始大面积的超时,之前只需要2s就能完成的计算,现在却需要30+分钟。查了
LiveVideoStack
2022/06/27
1.2K0
为什么OpenCV计算的帧率是错误的?
为什么 Python3.6 之后字典是有序的
字典的本质就是 hash 表,hash 表就是通过 key 找到其 value ,平均情况下你只需要花费 O(1) 的时间复杂度即可以完成对一个元素的查找,字典是否有序,并不是指字典能否按照键或者值进行排序,而是字典能否按照插入键值的顺序输出对应的键值。
somenzz
2021/10/20
1.4K0
onStart和onResume的区别
当Activity被onCreate后就会进入onStart状态,使这个Activity对用户来说呈可见状态,但不能交互。
全栈程序员站长
2022/09/01
2900
Android 进阶解密笔记-插件化
Android 完整生命周期: onCreate –> onContentChanged –> onStart –> onPostCreate –> onResume –> onPostResume –> onPause –> onStop –> onDestroy
Yif
2019/12/26
8420
【面试技巧】当面试官问你glide的时候,是想问什么?glide生命周期如何实现?
去面试的时候,我们也经常被问到这样的问题:项目用什么图片加载框架?为什么选择这个框架?glide是现在主流的图片加载框架,被问到的概率非常高。面试官这样问,最想听到的是什么答案?Lru算法原理还是三层缓存的理解?以我的理解,Lru和三层缓存是很基本的,一般的图片加载框架都用到,这应该不是面试官真正的目的。面试官最想问的应该是glide最大的优点是什么?并且能够针对源码讲出是怎么实现的。本篇文章将围绕这两个问题去讨论。
Android技术干货分享
2020/10/30
9040
【面试技巧】当面试官问你glide的时候,是想问什么?glide生命周期如何实现?
为什么我对JavaScript的未来持乐观态度?
Lee Robinson 写了一篇《Why I'm Optimistic About JavaScript's Future》 表达对 JavaScript 未来的看好。
前端小智@大迁世界
2023/01/13
9580
为什么我对JavaScript的未来持乐观态度?
唠唠 Activity 的生命周期
上一篇文章唠了唠 任务栈,返回栈和启动模式,今天来聊一聊同样和 Activity 息息相关的 生命周期 。
路遥TM
2021/08/31
4000
Android Activity的生命周期
通过上一节“Android系列之四:Android项目的目录结构”我们已经知道了什么是Activity,那么为什么我们创建一个Activity的导出类的时候为什么都要覆盖Activity的onCreate方法呢,为什么会在onPause()方法中保存一些当前Activity中的变化,要弄明白这些就要先了解Activity的生命周期,也就是一个Activity才开始到结束都要经过那些状态,下面通过一个例子了解Activity的声明周期.
飞雪无情
2018/08/28
4280
Android Activity的生命周期
Android面试:怎么理解 onStart可见但不可交互?不要小瞧了这个问题,涉及面很多!
这个问题看似简单,但涉及到的面还是比较多的,比如Activity生命周期的理解,进程的理解,以及View绘制的时机。
Android技术干货分享
2021/03/30
1.3K0
Android面试:怎么理解 onStart可见但不可交互?不要小瞧了这个问题,涉及面很多!
android中开启ProgressDialog进度条之后,屏蔽返回按键。
之前一直再想按下触摸屏或者回退键,就会立马关闭进度条。但是,项目有需要,必须在进度条结束之后,才能按下回退键。
程思扬
2022/01/10
5800
为什么我用了Redis之后,系统的性能却没有提升
很多时候,我们在面对一些热点数据的时候,通常会选择将热点数据放到redis中,以减少数据库的查询,减轻数据库的压力。但是如果我们使用redis的方式不对,那么可能导致系统的性能不升反降。
Java进阶之路
2022/08/03
2K0
为什么我用了Redis之后,系统的性能却没有提升
我对SAP项目实施是这样理解的
顾问是一个职位,泛指在某件事情的认知上达到专家程度的人,他们可以提供顾问服务,顾问提供的意见以独立、中立为首要。
matinal
2019/10/12
1.4K0
我对SAP项目实施是这样理解的
android之activity的生命周期详解
刚在看mars老师的视频,看到activity的生命周期,就看了一下,总结了一下.下面是各函数的调用时机
全栈程序员站长
2022/07/20
6350
android之activity的生命周期详解
班科白皮书中的史诗级错误(难道我是对班科理解最深的人)
大家都觉得项目白皮书很高富帅,班科算法更是白富美,那班科白皮书就是高富帅+白富美的存在,只能仰视和膜拜。从不曾想,也不敢想,白皮书有错误!
凌帅出口
2018/12/25
8410
当面试官问你glide的时候,是想问什么?glide生命周期如何实现?
去面试的时候,我们也经常被问到这样的问题:项目用什么图片加载框架?为什么选择这个框架?glide是现在主流的图片加载框架,被问到的概率非常高。面试官这样问,最想听到的是什么答案?Lru算法原理还是三层缓存的理解?以我的理解,Lru和三层缓存是很基本的,一般的图片加载框架都用到,这应该不是面试官真正的目的。面试官最想问的应该是glide最大的优点是什么?并且能够针对源码讲出是怎么实现的。本篇文章将围绕这两个问题去讨论。
Android技术干货分享
2020/04/27
1.7K0
当面试官问你glide的时候,是想问什么?glide生命周期如何实现?
怎么理解 onStart可见但不可交互
这个问题看似简单,但涉及到的面还是比较多的,比如Activity生命周期的理解,进程的理解,以及View绘制的时机。
码上积木
2021/03/10
8140
点击加载更多

相似问题

在onStart()之后调用OnStop()

24

片段onStop()直接在onStart()之后调用-为什么?

12

服务的onstart和onstop

11

没有onStart和onStop +的活动

13

OnStart ()是在OnStop()之后调用的,这给我的应用程序带来了问题

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档