Laravel Beanstalkd作业无法通过ssh连接到远程服务器

时间:2015-01-09 14:30:26

标签: laravel laravel-4 beanstalkd

我的网络应用程序中有一个如下所示的工作流程(内置Laravel 4):

1)用户上传文件(最多50mb左右)
2)文件被移动到临时目录
3)创建排队的工作,执行以下操作:
  - 上传文件到亚马逊s3
  - SSH到另一个文件处理服务器并将文件传输到那里的文件夹   - 删除临时文件

要连接到远程服务器并在排队作业中上传文件,我使用:

SSH::into('processing')->put($localPath, $remotePath);

当我使用' sync'排队时,一切正常。驱动程序,所以我知道环境和权限是正确的。问题是,当我切换到beanstalkd作为我的队列驱动程序时,作业失败并显示以下内容:

[2015-01-09 14:15:40] production.ERROR: exception 'RuntimeException' with message 'Unable to connect to remote server.'

Beanstalkd作业在应用程序的其他位置运行正常(其他任何一个都没有ssh命令)。

我使用用户名和密码进行连接,因此它不是密钥权限或密码短语问题。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果你知道文件已经上传OK给S3,为什么不生成一个新的作业,然后在另一个文件处理服务器上运行(步骤3b),让它从S3下载文件,如果需要的话?

除此之外 - 您需要对SSH上传进行更多调试。