[英]Is 'Pheanstalk_Exception' with message 'JOB_TOO_BIG: job data exceeds server-enforced limit' due to a single job or long queue?
[英]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.