簡體   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