系统s3cmd同步php超时

时间:2013-08-27 05:48:11

标签: php amazon-s3 s3cmd

我正在尝试使用系统命令通过php网页在我的远程服务器和amazon s3之间同步文件夹。该网页可以选择浏览需要在服务器和s3之间同步的文件夹

s3命令是下面的一个

  

system('s3cmd sync'。$ fldr_name。''。BUCKET_NAME。'   --config =“” AWS_CONF_FILE。 '”',$返程);

对于小文件夹,它正在运行。但我正在同步大文件网页连接正在重置。

我在我的php脚本上试过这个

  

ignore_user_abort(真);

但没有运气。有没有办法让网页长时间可执行?

谢谢,

1 个答案:

答案 0 :(得分:0)

您使用的方法并不理想。当服务器长时间保持打开状态时,与服务器的连接可能会因多种原因而重置,其中一些不受您的控制。

我建议你采取另一种方法:

在服务器上对所有这些同步任务进行排队,并且只使用在后台运行的服务(例如,cron作业或其他服务)并行执行其中的几个同步任务。

当其中一个同步完成时,您将在数据库中记录其成功/失败。

然后,在UI中,您定期提取第二个服务(通过定期执行的AJAX调用),该服务检查数据库并返回您正在存储的挂起/成功/失败标志。如果请求仍处于待处理状态,您只需稍后重新检查即可。