На Laravel 4.2 и Laravel Forge
Я сделал ошибку и случайно нажал код на серийный номер, но произошла ошибка, и он переместил задание в очередь, не удалив его после завершения. Теперь я больше ничего не могу нажать в очереди, я получаю:
Pheanstalk_Exception JOB_TOO_BIG: данные задания превышают лимит, установленный сервером
- Laravel 5 - Удалить публикацию по URL-адресу
- Laravel 5 Отправить ошибки по электронной почте
- Как удалить файлы или изображения из папки и базы данных в Laravel?
- У меня ошибка в laravel по функции /vendor/guzzlehttp/psr7/src/functions.php в строке 77
- Проверка даты и времени Laravel 5.1 позволяет использовать два формата
- Проверьте, выходит ли значение в массиве (Laravel или Php)
Что я могу сделать?
Это связано с тем, что вы пытаетесь хранить слишком много данных в самой очереди. Попробуйте сократить данные, которые вы нажимаете на очередь.
Например, если ваше задание очереди связано с использованием моделей, просто передайте идентификатор модели в очередь и как часть задания выберете их из базы данных, а не передайте очередь всего экземпляра модели.
Если вы используете красноречивые модели, они автоматически обрабатываются таким образом.
Вы можете увеличить максимальный размер задания с помощью опции -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
Размер должен быть указан в байтах.
Я не уверен, что это может иметь серьезные последствия для производительности – пока что так хорошо для меня. Я был бы признателен за любые комментарии к эффективности.