【发布时间】:2015-01-09 14:30:26
【问题描述】:
我的 Web 应用程序中有一个如下所示的工作流程(内置于 Laravel 4):
1) 用户上传文件(最大 50mb 左右)
2) 文件移动到临时目录
3) 创建的队列作业执行以下操作:
- 将文件上传到亚马逊 s3
- 通过 SSH 连接到另一个文件处理服务器并将文件传输到那里的文件夹。
- 删除临时文件
要连接到远程服务器并在排队的作业中上传文件,我正在使用:
SSH::into('processing')->put($localPath, $remotePath);
当我使用“同步”驱动程序将该作业排队时,一切正常,所以我知道环境和权限是正确的。问题是,当我切换到 beanstalkd 作为我的队列驱动程序时,作业失败并显示以下内容:
[2015-01-09 14:15:40] production.ERROR: exception 'RuntimeException' with message 'Unable to connect to remote server.'
Beanstalkd 作业在应用程序的其他地方运行良好(其他都没有 ssh 命令)。
我正在使用用户名和密码进行连接,因此这不是关键权限或密码短语问题。有什么想法吗?
【问题讨论】:
标签: laravel laravel-4 beanstalkd