首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Laravel队列作业不尊重超时

Laravel队列作业不尊重超时
EN

Stack Overflow用户
提问于 2019-11-22 04:40:28
回答 1查看 884关注 0票数 0

我有这个过程设置。

代码语言:javascript
运行
复制
php artisan queue:work beanstalkd --sleep=3 --tries=1 --timeout=0 --queue=medium,messages

我还有一份工作要做

代码语言:javascript
运行
复制
public $timeout = 100000000;

但是,在使用第一次运行的message has been attempted too many times or run too long. The job may have previously timed out之前,作业就已经停止了。

我在php.ini里也有这个

代码语言:javascript
运行
复制
max_execution_time = 0

我在这里错过了什么?

EN

Stack Overflow用户

发布于 2019-11-22 07:40:30

控制台

我想从命令行执行的事情(正如您在工作中提到的那样,会创造更多的工作机会)。但问题是,您可以将其业务逻辑提取到命令中。

示例:一个控制台命令,它会触发一个命令,从Imgur获取图像。类FetchImages包含获取图像的实际业务逻辑。

命令

类,该类包含实际逻辑。您还应该能够使用app()->make(Command::class)->handle()从应用程序中调用此命令。

示例:示例1中提到的命令。包含逻辑,它执行对Imgur的实际API调用,并处理返回的数据。

工作

拉勒维尔5.0,所以jobs不是当时的一件事。但在我看来,乔布斯就像命令,但它们是排队的,可以被分派。(正如您在这些示例中可能看到的,这些命令实现了所提到的接口SelfHandlingShouldBeQueued)。

我看到CommandsJobs中的变化是很难理解的。

编辑:来自Laravel Docs:

app/Command目录已被重命名为app/Jobs。但是,不需要将所有命令移动到新位置,您可以继续使用make:命令和处理程序:命令Artisan命令来生成类。 类似地,app/Handler目录已被重命名为app/Listeners,现在只包含事件侦听器。但是,不需要移动或重命名现有的命令和事件处理程序,您可以继续使用处理程序: event命令来生成事件处理程序。 通过为Laravel5.0文件夹结构提供向后兼容性,您可以将应用程序升级到Laravel5.1,并在方便时将事件和命令缓慢升级到它们的新位置。

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

https://stackoverflow.com/questions/58987627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档