在多线程环境中跨不同请求共享(机械化)会话?

时间:2012-09-26 21:11:20

标签: ruby session cookies mechanize mechanize-ruby

我正在开发一个使用Ruby的Mechanize登录受密码保护的网站并使用某些数据源的应用程序。反过来,我的应用程序允许我的用户查询和操作数据。每当新用户访问我的应用程序时,它都会登录到远程数据源以获取数据。

以下是问题:远程站点允许会话持续长达24小时。 什么是削减远程网站上多个登录的最佳解决方案?

有多种方法可以实现此目的:将Mechanize对象序列化并保存到数据库,将Mechanize的cookie / jar /会话信息保存到请求之间的共享文件等。我正在寻找最佳实践,最重要的是一个适用于Heroku多线程环境的解决方案。

1 个答案:

答案 0 :(得分:0)

这就是我要做的事情:

  • 使用mechanize进行rake任务登录站点并保存 文件或数据库中的cookie。按时24小时运行。
  • 除非您确实需要,否则请从您的控制器中使用更多内容 轻量级比机械化(net / http?)发送cookie和make 请求。