JOB_TOO_BIG Pheanstalk – что можно сделать?

На Laravel 4.2 и Laravel Forge

Я сделал ошибку и случайно нажал код на серийный номер, но произошла ошибка, и он переместил задание в очередь, не удалив его после завершения. Теперь я больше ничего не могу нажать в очереди, я получаю:

Pheanstalk_Exception JOB_TOO_BIG: данные задания превышают лимит, установленный сервером

Что я могу сделать?

Solutions Collecting From Web of "JOB_TOO_BIG Pheanstalk – что можно сделать?"

Это связано с тем, что вы пытаетесь хранить слишком много данных в самой очереди. Попробуйте сократить данные, которые вы нажимаете на очередь.

Например, если ваше задание очереди связано с использованием моделей, просто передайте идентификатор модели в очередь и как часть задания выберете их из базы данных, а не передайте очередь всего экземпляра модели.

Если вы используете красноречивые модели, они автоматически обрабатываются таким образом.

Вы можете увеличить максимальный размер задания с помощью опции -z для Beanstalkd: http://linux.die.net/man/1/beanstalkd

Чтобы сделать это на Forge, вам нужно SSH на сервер и отредактировать файл /etc/default/beanstalkd .

Добавьте следующую строку (или раскомментируйте существующую строку BEANSTALKD_EXTRA и отредактируйте ее): BEANSTALKD_EXTRA="-z 524280"

Перезапустить beanstalkd после внесения изменений: sudo service beanstalkd restart

Размер должен быть указан в байтах.

Я не уверен, что это может иметь серьезные последствия для производительности – пока что так хорошо для меня. Я был бы признателен за любые комментарии к эффективности.