Jon*_*lis 5 php beanstalkd laravel pheanstalk laravel-4
我正在研究我的第一个Laravel应用程序,在尝试排队使用Mail::queue发送电子邮件的电子邮件时遇到了一个奇怪的问题.
我最初使用的sync驱动程序,一切正常,但现在切换到beanstalkd驱动程序,它已停止发送我的电子邮件.
我的配置如下:
apt-get"pda/pheanstalk": "2.1.*" 在 composer.json我注意到的是每次我跑步
$ php artisan queue:work
Run Code Online (Sandbox Code Playgroud)
我越来越:
[ErrorException]
Insufficient data for unserializing - 2570 required, 168 present
queue:work [--queue[="..."]] [--delay[="..."]] [--force] [--memory[="..."]] [--sleep[="..."]] [--tries[="..."]] [connection]
Run Code Online (Sandbox Code Playgroud)
我已经尝试过选择redis驱动程序并且没有给我错误,所以显然pheanstalk在我的机器上运行有什么问题.
我已经尝试更改pheanstalk版本composer.json,但无论我似乎使用哪个版本,我仍然会遇到同样的问题.
问题是,这个问题似乎没有特别广泛记录,并且错误信息实际上并没有给予太多帮助......
有什么建议吗?
Laravel 序列化并加密推送到队列的所有内容。您的应用程序加密密钥 ( app/config/app.php 'key') 是否设置为非空值?
您可以自己查询 beanstalkd,以查看哪些消息被推送到队列中吗?您应该看到如下难以理解的字符串:
eyJpdiI6IlZwT1p6QkhXQ3BcL0lRUmlHXC9maE8xT2o5Rk1BSUtMM0d5SlRoKzcrSGNLTT0iLCJ2YWx1ZSI6Im02N05LQzNPamNZSmVpTW5kXC80NnkyWEl0RUFMZHFiQXo0VnlNYUlLUUQzSzUrZHNIS2Vlb1kxWkpRS1VFZm5SVERXeHduWEFQelE5SCtZbVBwRmk2QkJPTlB5ek1RNWpKM3JRTzBDSlB3N3orYmk5UmZwM0ZzNmlpVVdQWVdQNWtKSWVQVG5nK29MajcyM3VtTUdraE5SNXJXYUJyYUErb25iTUJGSzhQYms9IiwibWFjIjoiNGFmNjMwNjYxYzk4NmMyZTA2ZTZlMzAwZTBlZjZhMTA1OGM2NzAxNTBkNWUzYTA2MTY3NzNiMTU4NTRlMmEyOSJ9
该错误意味着您推送的字符串未加密,或者存在某种原因阻止作业被中途推送到队列中。如果没有别的事,您可以搜索该异常的文本(“反序列化数据不足”),它应该会生成一个 PHP 文件,vendor/pda/pheanstalk您可以在其中尝试了解发生了什么。