Laravel 队列工作者与 cron

2024-01-09

我试图让我的网站在每次有人新注册时发送确认电子邮件。

我在阅读完相关内容后按照下面的方式做了,但我仍然不相信这是最好的方法。

在我的 cron 中每分钟运行并调用php artisan schedule:run

在我的控制台/内核中

protected function schedule(Schedule $schedule)
{
    $schedule->command('queue:work --once')->everyMinute()->withoutOverlapping();
}

我添加了 --once 参数,因为完成后队列工作程序不存在,并且我不希望每分钟运行许多新进程。

有没有一种方法可以让队列工作人员完成所有作业并退出,然后在一分钟后再次启动它,这样我就没有很多实例,或者只是一个实例?

我读到我可以返回 null 来退出工作人员,但如果可以做到这一点,那么我如何才能仅在最后一个工作完成后返回 null 呢?


对于任何仍在寻找解决方案的人,在 laravel 5.7 中,他们添加了支持运行队列中的所有作业,然后在所有作业完成后停止队列工作线程。

你的 cronjob 应该运行这个:php /path/to/laravel/artisan queue:work --stop-when-empty

Github 上的队列工作命令源代码 https://github.com/laravel/framework/blob/51cec6a7fafcc08212da8515fdc9e3d103e3fc06/src/Illuminate/Queue/Console/WorkCommand.php#L26

另外还有一个适用于旧版本 laravel 的软件包

奥罗博吉尼斯/sansdaemon https://github.com/orobogenius/sansdaemon

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel 队列工作者与 cron 的相关文章

  • Laravel 5.4 合并两个集合

    所以我有两个收藏 sales and costs 现在我需要将它们合并为我的一个集合foreach状况 我不确定是否可以在一个集合中使用两个集合foreach 原始查询 Raw MySQL Queries for Sales total s
  • ajax 请求中的 laravel TokenMismatchException

    我正在使用资源组并使用此过滤器来解析TokenMismatchException问题 Route filter csrf function route request if strtoupper request gt getMethod G
  • 仅针对 Laravel 中的生产添加自定义 500 错误页面

    我想要一个自定义 500 错误页面 这可以简单地通过创建一个视图来完成errors 500 blade php 这对于生产模式来说很好 但在调试模式下我不再获得默认的异常 调试页面 看起来是灰色的 并显示 哎呀出了问题 因此 我的问题是 如
  • Laravel 4 无法创建目录,尽管我有正确的权限

    尽管我授予了正确的权限 但 Laravel4 无法创建目录 发生 FileException 错误 http s28 postimg org xkor8srxp 2014 01 03 2 53 18 png http s28 postimg
  • 如何在 Laravel 中动态更改 .env 文件中的变量?

    我想创建一个 Laravel Web 应用程序 允许管理员用户使用 Web 后端系统更改 env 文件中的某些变量 例如数据库凭据 但如何保存更改呢 没有内置的方法可以做到这一点 如果您确实想更改其中的内容 env文件 您必须结合 PHP
  • Laravel 和 ngrok:路由和资产的 url 域不正确

    我的设置 Mac OSX 上配置了多个站点的 Homestead 我有一个使用 domfit test 作为本地域的站点设置 使用主机更新器自动映射 我的问题 If I vagrant ssh 进而share domfit test我得到了
  • 在 Laravel 中获取身份验证用户 ID

    如果用户登录 Laravel 5 1 我们可以访问用户 ID Auth user gt id 在我以前的应用程序 不是 laravel 中 当用户登录时 我正在为 userid 注册一个会话 我正在检查 SESSION user id 是否
  • 更改laravel视图页面中的日期格式[重复]

    这个问题在这里已经有答案了 我想更改从数据库获取的日期格式 现在我得到了 2016 10 01 user gt from date 我想更改 laravel 5 3 中的格式 d m y user gt from date gt forma
  • Laravel 5:在没有 Composer 的情况下安装 Form 和 HTML 类

    我有兴趣在 Laravel 5 上安装 Form 和 HTML 类 而不需要 Composer 我怎样才能做到这一点 对于那些想说服我使用作曲家的人 1 我想通过自己手动至少一次来看看它的作用 2 我的主机上没有作曲家 3 使用compos
  • 如何在通过 Laravel Eloquent 方法连接的元素上使用 orderby

    问题是查询无法找到应该与 Laravel Eloquent 中的方法WITH 连接的特定方法 特定方法 特定模型 特定模型 特定方法等 有什么想法如何解决吗 我的代码 SpecificModel
  • node npm run watch 退出状态 3221225725

    我必须格式化我的驱动器 但我的一个项目不再工作 所有其他相同类型的项目都运行良好 这是 Laravel Vue JS 问题是我无法运行 npm run watch dev 或 production 他们都给出了错误 拉拉维尔 5 7 npm
  • 如何根据动态列分钟计算 Laravel Eloquent 中不同的日期时间

    我正在尝试基于两个数据库和列进行查询 model gt where response time lt Carbon now gt subMinutes DB raw anotherTable created at gt diffInMinu
  • Mongodb 数据库上的 SASL 身份验证失败

    我在尝试使用 PHP Mongodb 驱动程序连接到 Mongodb 时遇到问题 实际上我有一个名为 LRS 的数据库 它有一个名为 juano 的用户 在我的设置文件中带有密码 12345 我确信我编写了正确的配置 但是当我在 Larav
  • Crontab 每 5 分钟一次 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我如何告诉 crontab 每 5 分钟运行一次 但从每小时的第二分钟开始 换句话说 我想在以下时间执行我的脚本minute 5 2 例如 我的脚本应
  • laravel 4 登录验证失败

    在 Laravel4 中 我在路由中编写了以下代码 但它总是将我重定向到登录页面 我用谷歌搜索并在堆栈溢出上找到了它 并尝试了所有解决方案但没有成功 我确信这将是一个愚蠢的错误 但请跟踪它 谢谢 Routes Route post logi
  • Laravel 集成测试:如何断言一个 URL 已被调用但另一个 URL 没有

    我想测试一个向某个 URL 发出请求的控制器 例如 http example com api say hello 但它不会向另一个 URL 发出请求 例如 http example com api say bye bye 我想测试的控制器功
  • Laravel 5 中的自定义验证器

    我正在将 Laravel 应用程序从 4 升级到 5 但是 我有一个自定义验证器 但无法运行 在L4中 我做了一个验证器 php文件并将其包含在全局 php using require app path validators php 我尝试
  • Laravel,从 JSON 中删除 null Eloquent 对象属性

    有没有一种优雅的方法从 Eloquent 对象中删除 NULL 值 我的对象嵌套有关系 这个特定的调用可能会长达数千行 所以我尝试这样做的主要原因是为用户节省带宽 但服务器性能也是一个考虑因素 My code data locations
  • Laravel $request->file() 返回 null

    尝试在后端使用 Laravel 上传文件时遇到问题 Issue Laravel request gt file 方法返回 null Setup 我使用以下方法构建了一个 AJAX 请求超级代理人 https github com visio
  • AWS-PHP-SDK / SNS 直接寻址返回错误

    您好 我正在使用 Laravel 4 设置来利用 AWS SNS 向我的 iOS 设备发送推送消息 从 AWS 控制台向我的设备发布命令效果很好 然后我尝试从 PHP sns AWS get sns sns gt publish array

随机推荐

  • 自动将产品分配到 WooCommerce 中定义的产品类别

    在 Woocommerce 中 如果产品具有特定的自定义字段值 使用高级自定义字段插件生成此字段 我会尝试自动将给定的产品类别分配给产品 In my functions php我有 function auto add category pr
  • 使用 Visual C++ 将二维数组 int[n][m] 写入 HDF5 文件

    我刚刚开始使用 HDF5 希望得到有关以下内容的一些建议 我有一个二维数组 data 传递到一个方法中 该方法如下所示 void WriteData int data 48 100 int sizes 48 数据的大小实际上不是 48 x
  • CMake 和 XCode:“找不到‘NSObject’的接口声明”

    我正在尝试使用 CMake 生成 XCode 项目 但遇到了一些问题 CMake 生成的项目很好 但后来很明显它没有链接到 Foundation 和 UIKit 框架 我对 CMake 还很陌生 一直在努力克服这个问题 但没有成功 CMak
  • 匹配 IRC 昵称的正则表达式

    如何使用正则表达式来匹配 IRC 昵称 如果这会产生影响的话 这是在 Ruby 中完成的 可能会 使用正则表达式的语法 但谁知道呢 编辑 IRC 昵称可以包含任何字母 数字或以下任何字符 lt If you are testing a si
  • 创建新DataFrame的性能

    我很惊讶timings创建 DataFrames 的这个问题 https stackoverflow com q 41861846 2901002 30000 rows x 2 columns df pd concat pd DataFra
  • 在 Lance Game 中向各个玩家发送“秘密”数据

    我想知道 lance gg 中是否有一种简单的方法可以仅向每个玩家发送特定于玩家的数据 而不是向所有玩家发送所有数据 我希望创建一个扑克游戏 并且不希望每个玩家持有的数据向所有玩家广播 而是只让每个玩家接收有关他们自己的牌的信息 这在当前的
  • 使用 CTE 有哪些优点/缺点?

    我正在考虑提高某些 SQL 的性能 目前 CTE 在脚本中被多次使用和引用 使用表变量我会得到改进吗 不能使用临时表 因为代码位于函数内 您确实必须进行性能测试 没有是 否的答案 根据上面 Andy Living 的帖子链接 CTE 只是查
  • RESTful认证API设计

    我有一个关于 RESTful API 设计的问题 遵循 REST 的准则 所有端点都应该是名词并且是复数形式 并且永远不应该是动词 但是 通常将身份验证路由设置为 login logout 两者都是动词 如果您应该遵守指南 这些路线应该看起
  • JProfiler 错误:IDE 无法找到所选类

    我在 J Profiler 中遇到问题 当我单击 查看源代码 时 出现一些错误 提示 IDE 无法找到所选类并且无法查看源代码 编辑会话设置 选择 应用程序设置 选项卡 选择 Java 文件路径 部分中的 源路径 单选按钮 然后在其中添加源
  • MySQL子查询中的用户变量

    Query Output gt SELECT foo 1 foo SELECT foo SELECT foo FROM SELECT foo AS foo subselect foo 1 foo SELECT foo SELECT foo
  • Vue.js 将 items 中的 item 作为 prop 传递给组件:我会修改 prop 吗?

    Vue js 新手 从文档中 一个简单的示例是使用组件呈现列表中的每一项 如下所示
  • 如何在 tkinter python gui 中查找鼠标点击附近的标签

    我如何识别鼠标点击附近的标签 这里我的定义 识别 应该识别非常接近鼠标点击的标签 from Tkinter import root Tk f Frame root f grid w Canvas f line1 w create line
  • git-svn dcommiting 单个 git 提交

    给定多个未推送git承诺 是否有可能git svn dcommit只有其中一项提交 例如我已经提交了 foo bar 和 baz 但现在我只想让 bar 最终出现在 svn 存储库中 这可能吗 以下假设您的工作正在进行master 首先 重
  • 构建ndk库出错

    我有一个带有本机部分的 Android 项目 现在我试图让 eclipse 编译所有东西 但在本机编译期间它给了我这个错误 sh ndk build all ERROR You are using a non Cygwin compatib
  • 删除数据库文件和 sqllocaldb 后,底层提供程序在打开时失败

    我正在调查我的经历问题在这里 https stackoverflow com questions 13001441 delete mdf file from app data causes exception cannot attach t
  • 如何使用列表视图的 onitemclicklistener 更改仅选定列表视图行的布局

    我需要创建ListView like Samsung Contact List 我需要显示该行的自定义布局 而该行是swiped 并且还需要在该行的背景中显示联系方式 请给我一些想法或参考 谢谢 list setOnItemClickLis
  • 使用 CSS 进行水平对齐

    我有以下代码 div class one p Test p p span style color Green span p div 我认为这是一个非常简单的问题 但我不懂CSS 如何使段落在中心水平对齐 这里有两个问题 将包含该段落的 DI
  • 使用 asp.net 和 iis 在 geoserver 中进行身份验证

    我不知道这是否是一个愚蠢的问题 但是如何将 asp net 身份验证与 openlayers 结合 我创建了一个登录页面来在 openlayers 中进行身份验证 在 c 中 服务器端 这是我的代码 Uri uri new Uri http
  • 防止缓存单个js文件

    我的资产目录中有一个 js erb 文件 这会读取一些特定于区域设置的配置 但是 当底层配置更改时 新文件不会提供给我的浏览器 我得到 304 未修改 如果我通过添加空格来更改 js erb 文件 则新文件将正确提供 每次添加配置时都这样做
  • Laravel 队列工作者与 cron

    我试图让我的网站在每次有人新注册时发送确认电子邮件 我在阅读完相关内容后按照下面的方式做了 但我仍然不相信这是最好的方法 在我的 cron 中每分钟运行并调用php artisan schedule run 在我的控制台 内核中 prote