繁体   English   中英

JOB_TOO_BIG Pheanstalk-该怎么办?

[英]JOB_TOO_BIG Pheanstalk - what can be done?

在Laravel 4.2和Laravel Forge上

我犯了一个错误,无意中将一些代码推送到了生产服务器上,但是出现了一个错误,它把作业推送到了队列中,但是一旦完成就不删除它。 现在,我无法再将任何内容推送到队列中,我得到:

Pheanstalk_Exception JOB_TOO_BIG:作业数据超出服务器强制的限制

我能做什么?

您可以使用-z选项为Beanstalkd增加最大作业大小: http : //linux.die.net/man/1/beanstalkd

要在Forge上执行此操作,您需要SSH进入服务器并编辑/etc/default/beanstalkd文件。

添加以下行(或取消注释现有的BEANSTALKD_EXTRA行并对其进行编辑): BEANSTALKD_EXTRA="-z 524280"

进行更改后,重新启动beantalkd: sudo service beanstalkd restart

大小应以字节为单位。

我不确定这是否会对性能产生严重影响-到目前为止,对我来说是如此。 我将不胜感激任何表现。

这是因为您试图在队列本身中存储太多数据。 尝试减少您要推送到队列中的数据。

例如,如果您的队列作业涉及使用模型,则只需将模型ID传递到队列中,并作为作业的一部分从数据库中获取它们,而不是将整个模型实例传递给队列。

如果您使用的是雄辩的模型,则会以这种方式自动处理它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM