取消 Laravel 中的作业

2023-12-09

如果我调用以下内容:

return AdventureJob::dispatch($event->character->refresh(), $event->adventure, $event->levelsAtATime)->delay($timeTillFinished);

这将创建一个延迟 x 分钟的作业。我的作业都是通过redis处理的,有没有办法获取这个特定的作业或从队列中删除这个特定的作业?

人们谈论 php artisan 命令然后删除所有作业,这不是我想要的我想要获取有关此作业的某种信息(作业 ID?或队列 ID?Redis ID?)然后存储在数据库中,以便如果然后玩家取消冒险,我可以使用它在队列中找到该作业并将其删除,假设它没有运行。


没有直接或简单的方法可以做到这一点。延迟的作业保留在sorted sets待处理时间为score和工作负载作为value.

有多种方法可以从排序集中删除元素(大多数方法需要一些努力,具体取决于延迟队列的大小),例如

  • 您获得分派作业的“准确”有效负载,然后使用ZREM将其删除。这很困难,因为对象(具有所有参数的作业的序列化版本)可能很大,并且您无法创建“精确”作业,因为它具有唯一标识符。你可以通过以下方式获取它的列表分数范围WITHSCORES。它将为您提供职位列表及其分数。您可以使用分数来识别要延迟的工作。获取值(序列化有效负载)然后使用ZREM.
  • 如果在特定时间只有一项作业需要处理,您可以使用ZREM范围按分数使用处理时间。如果当时有 n 个作业需要处理,那么其他作业也可以被删除,因为ZREMRANGEBYSCORE需要时间间隔。
  • 您可以尝试使用ZSCAN扫描整个延迟列表(带分页)并找到作业的分数和标识符,然后使用ZREMRANGEBYLEX使用标识符将其删除。
  • 另一种方法是在开始时设置取消条件handle方法。这个需要应用层开发。每当您将作业推送到队列时,您都会向该作业发送一个标识符,也将相同的标识符(您可以理解的)放入Redis中(使用EXPIRE大于延迟时间)。当你想取消它时,然后从Redis中删除它。在handle方法内部检查Redis中是否存在给定的标识符,如果不存在则从代码块提前返回。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

取消 Laravel 中的作业 的相关文章

  • PHP 启动:无法加载动态库 php5.4.3/ext/php_ffmpeg.dll 不是有效的 Win32 应用程序

    再会 我尝试在 Windows 7 计算机上安装 dll 文件 php ffmpeg 但不断收到此错误 29 Jan 2013 11 37 00 UTC PHP Warning PHP Startup Unable to load dyna
  • 如何在PHP中获取div中的所有链接

    我想从另一个网站打开一个页面 并提取一个中的所有链接 href div of class layout 2 2 在此页面中 我如何使用 PHP 来做到这一点 我想复制layout 2 2中的每个链接this https url 网页 这是我
  • Composer 安装要求

    我正在尝试将 Composer 安装到 Laravel 项目中 当我做的时候sudo composer install在项目目录中它显示了两个错误 Problem 1 Installation request for simplesoftw
  • 当第二个参数包含运算符号时,为什么 ltrim 会删除一个字符? [复制]

    这个问题在这里已经有答案了 If I do ltrim 53 34567 53 ltrim 53 34567 53 ltrim 53 34567 53 I get 4567作为结果而不是34567 这种行为的解释是什么 ltrim 53 3
  • 这是依赖注入吗?这是一种不好的做法吗?

    我有一个小框架 我是这样编码的 我不确定这是否称为依赖注入 我不知道它是否像设计模式 我也不知道并且想知道是否通过 this因为 param 是一种不好的做法 看看这个 不是一个有效的示例 只是将这些代码写入浏览器中以供解释 This is
  • 动态创建和下载Doc文件

    因此 我尝试动态创建 doc 文件并让用户在单击按钮时下载该文件 这些是我找到的用于下载文件的标头 header Content Description File Transfer header Content Type applicati
  • PHP中的反转数组

    array 7 0 gt array 2 id gt string 1 9 roi gt float 0 1 gt array 2 id gt string 1 1 roi gt float 0 2 gt array 2 id gt str
  • 如何解决 注意:未定义索引:第 21 行 C:\xampp\htdocs\invmgt\manufactured_goods\change.php 中的 id [重复]

    这个问题在这里已经有答案了 我的 PHP 代码有一个问题 显示 注意 未定义的索引 我确信它非常简单 因为我是初学者 所以我不太清楚到底出了什么问题 所以请帮助我 这是代码
  • 将 PayPal 返回 URL 设置为 localhost

    我正在尝试集成 Paypal 并且在此过程中使用沙箱 我按照以下问题中接受的答案的步骤进行操作 设置 PayPal 返回 URL 并使其自动返回 https stackoverflow com questions 7642895 setti
  • 如何检查 $row['column_name'] 是否返回空 php mysql

    我有一个带有列的表格 id name phone describe 当我从这个表中获取值时 我正在使用 row mysql fetch array query 现在我想检查是否 row describe 返回空值 如何查看php 您可以使用
  • 将 Laravel 集合/数组转换为 Javascript 数组

    我想将 Laravel 中的数组分配给 JavaScript 数组 我已经从我的AppServiceProvider和 json decoded 它像 View composer function view users Users all
  • 从 PHP 生成渐变颜色

    我想知道如何构建一个给出颜色代码和 显示该颜色的渐变 例如 function generate color int colorindex Generate 10 pale colors of this color 请帮我 迈克尔引用的代码相
  • 为什么 PHPUnit 将一些右大括号显示为未被覆盖?

    我正在使用 PHPUnit 3 6 7 PHP CodeCoverage 1 1 1 和 Xdebug 2 1 2 当我让 PHPUnit 将代码覆盖率统计信息写入 clover 样式的 XML 文件时 它偶尔会显示一个右花括号 表示测试未
  • PHP MVC 应用程序中哪里可以捕获异常?

    我有一个中小型 PHP 应用程序 用于练习 OOP 和 MVC 技能 我有初始化 引导程序调用的文件Router谁打电话控制器 gt 服务层 gt 存储库 数据库 然后将变量发送回视图层 所有依赖项均由 DiC IOC 处理 我创建抽象类
  • 警告:mysqli_query() 期望参数 1 为 mysqli,在 中给出 null

    我正在尝试构建一个简单的自定义 CMS 但出现错误 警告 mysqli query 期望参数 1 为 MySQLi 在中给出的为 null 为什么我会收到此错误 我的所有代码都已经是 MySQLi 并且我使用两个参数 而不是一个 con m
  • 访问 Magento 购物车和/或结帐中的运费

    请注意 这个问题是关于运费 而不是价格 有一个重要的区别 即运输方式为店主支付的费用是多少 而不是客户支付的费用 The shipping tablerate数据库表包括一个cost字段 该字段填充在Mage Shipping Model
  • 将二进制数据从 C# 上传到 PHP

    我想将文件从 Windows C 应用程序上传到运行 PHP 的 Web 服务器 我知道 WebClient UploadFile 方法 但我希望能够分块上传文件 以便我可以监控进度并能够暂停 恢复 因此 我正在读取文件的一部分并使用 We
  • PHP 致命错误:未找到“MongoClient”类

    我有一个使用 Apache 的网站 代码如下 当我尝试访问它时 我在 error log 中收到错误 PHP Fatal Error Class MongoClient not found 以下是可能错误的设置 但我认为没有错误 php i
  • 使用 PHP 将 SVG 图像转换为 PNG

    我正在开发一个网络项目 该项目涉及动态生成的美国地图 根据一组数据为不同的州着色 这个 SVG 文件为我提供了一张很好的美国空白地图 并且很容易更改每个州的颜色 困难在于 IE 浏览器不支持 SVG 因此为了让我使用 svg 提供的便捷语法
  • 简单的颜色变化

    我正在创建一个用户界面 用户可以在其中更改页面的颜色值 我想要的是获取分配给其背景颜色的值并将其变亮一定程度 我只是想获得一条亮点线 而不必每次都制作新图像 示例 用户将背景颜色设置为 ECECEC 现在我希望某个元素边框变成 F4F4F4

随机推荐

  • 当另一个动画正在进行时,Jquery 动画

    我正在使用这里给出的简单缓动动画JQuery 缓动插件即 将 div 从 left 200 缓动到 left 0 并返回 上页的最后一个示例 我在一个容器 div 中有多个 div 我想要做的是通过以下方式为 4 个 div 设置动画 1
  • Windows Phone 7.1 应用程序中的自动登录过程

    在我的 Windows Phone 应用程序中 银光应用程序 我希望用户在成功登录后自动登录到应用程序 即我不希望用户每次都登录 我通过一个隔离存储文件概念 即首先我创建了 一个目录 我创建了一个隔离存储文件流并将电子邮件和密码凭据存储在某
  • 如何将当前日期与日期选择器中的用户输入日期进行比较

    我试图限制日期和时间 我希望如果用户尝试设置小于当前日期的日期 那么它应该显示警报 并且随着时间的推移也要做同样的事情 我正在使用日期和时间选择器和我的onDateSetListener and onTimeSetListener如下 Da
  • 带有像素图的透明 QLabel

    我有一个 QLabel 我使用 setpixmap 在上面放置了一个图像 该图像有 Alpha 通道 QLabel 位于 QWidget 上 该 QWidget 具有由图像指定的边框图像 以便重新缩放图像以填充 QWidget 在QLabe
  • 如何从结构体数组中删除一个元素?

    如何从类型结构数组中删除元素 假设我注册了一个项目 然后想删除它 我该怎么做 删除函数位于代码末尾 我想通过给出删除该项目varunummer 身份证号码 有人知道该怎么做吗 include
  • “挥发性”关键字的用途是什么?

    我读过一些关于volatile关键字 但我无法弄清楚它的正确用法 你能告诉我它在 C 和 Java 中的用途吗 考虑这个例子 int i 5 System out println i 编译器可能会对此进行优化 只打印 5 如下所示 Syst
  • 如何在 Swift 中将自定义对象追加到数组中?

    如何在 Swift 中将自定义类对象追加到数组中 下面是我的代码 但它显示错误 Error 无法将 的值分配给类型 PhotoVC Code var photoVCs PhotoVC for index in 0 lt photos cou
  • C# Mongo FirstOrDefaultAsync 挂起

    使用 2 0 驱动程序 以下代码有时会挂起并且永远不会返回 public async Task
  • 使用 javascript 正则表达式删除所有脚本

    我正在尝试使用 javascript 中的正则表达式从以下类型的字符串中删除包含内容的所有脚本标签 但我仍然得到输出 当它应该是一个空字符串时 代码是 var BG
  • 在 MATLAB 和 C++ 之间交换数据最有效的方法?

    我正在开发一个应用程序 其中有两个程序同时运行 一个在 C 中 另一个在 MATLAB 中 C 程序定期生成三个数值作为输出 MATLAB 程序需要定期但在不同的时间段访问三个输出 目前 我已经使用解决了这个问题 txt文件 当例程完成时
  • 将字符串转换为数组

    我有一根绳子 就像 string key1 value1 key2 value2 key3 value3 如何从给定的字符串中获取数组 如下所示 array array key1 gt value1 key2 gt value2 key3
  • Laravel angularJS CORS 使用 barryvdh/laravel-cors

    六个小时过去了 我仍然没有得到以下问题的解决方案 我正在尝试让 AngularJS 从不同的域访问我的 API 在网上搜索后我发现了这个package它说它可以 在 Laravel 应用程序中添加 CORS 跨源资源共享 标头支持 我遵循了
  • C# 和 Java 之间的主要区别是什么?

    Locked 这个问题及其答案是locked因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 我只想澄清一件事 这不是哪个更好的问题 这部分我留给其他人讨论 我不在乎 我在面试时被问到这个问题 我认为了解更多可能会有用 这些
  • Resource.properties 文件中的多行值?

    我有一个多行值Resource properties file TXT ABOUT first line second line n third line 我将其显示在 关于 框中
  • Python 多处理全局 numpy 数组

    我有以下脚本 max number 100000 minimums np full max number np inf dtype np float32 data np zeros max number 128 128 128 dtype
  • R.anim 中缺少动画,ImageSwitcher 中缺少进度条

    我喜欢动画中的两张幻灯片 我认为缺少哪些 我怎样才能做到这一点 一切都会很好 android R anim slide in right android R anim slide out left 我想插入一些图片 反之亦然 另一方面 是否
  • 通过WMI创建/删除磁盘分区

    有没有办法通过 WMI 创建 删除磁盘分区 我已经能够挂载 卸载虚拟磁盘 vhd 并列出其分区 据我所知 WMI 中没有办法创建 删除分区 您可能想查看外壳函数
  • Eclipse 远程调试预启动脚本?

    我创建了一个 C C 远程应用程序 调试配置eclipse并且能够远程调试我的应用程序 我选择使用 仅 SSH 连接选项 并注意到 结果 在我的远程系统资源管理器 RSE in eclipse 当我运行配置时 该工具会自动将我的二进制文件部
  • 如何创建透明背景的渐变框阴影?

    我想用渐变框阴影制作div 我已经找到了如何处理 before 和模糊效果 但我想制作具有透明背景的div 例如 div height 200px width 200px background color rgba 255 255 255
  • 取消 Laravel 中的作业

    如果我调用以下内容 return AdventureJob dispatch event gt character gt refresh event gt adventure event gt levelsAtATime gt delay