加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 刮耙任务似乎遭受了不必要的缓存

发布时间:2020-12-17 02:02:39 所属栏目:百科 来源:网络整理
导读:我很难过! 我有一个rake任务,每分钟都要运行一次. 它登录后,会找到我感兴趣的JSON,但在rake任务中注意到JSON中的任何更改之前,最多可以执行30次任务.在此期间,我错过了某些JSON对象的几处更改. 好像有一些缓存正在进行,我试图关闭如图所示的Mechanize缓存,
我很难过!

我有一个rake任务,每分钟都要运行一次.

它登录后,会找到我感兴趣的JSON,但在rake任务中注意到JSON中的任何更改之前,最多可以执行30次任务.在此期间,我错过了某些JSON对象的几处更改.

好像有一些缓存正在进行,我试图关闭如图所示的Mechanize缓存,只是不确定我现在还能尝试什么.

有什么指针吗?

提前致谢.

agent = Mechanize.new # {|a| a.log = Logger.new(STDERR) }
  agent.history.clear
  agent.max_history = 0
  agent.user_agent_alias = 'Mac Safari'
  page = agent.get 'http://website.com'
  form = page.forms.first
  form.email = 'me@home.com'
  form.password = 'mypassword'

  page = agent.submit form
  page = agent.get 'http://website.com/password_protected_page'
  jsonDirty = page.search '//script[@type="application/json"]'

服务器响应:

{"server"=>"nginx","date"=>"Thu,13 Sep 2012 14:16:43 GMT","content-type"=>"text/html; charset=utf-8","connection"=>"close","vary"=>"Cookie","content-language"=>"plfplen","set-cookie"=>"csrftoken=pVDg2SJ4KHqONz2OiEkNK7IbKlnJSQQf; expires=Thu,12-Sep-2013 14:16:43 GMT; Max-Age=31449600; Path=/,affiliate=; expires=Thu,01-Jan-1970 00:00:00 GMT; Max-Age=0; Path=/,one-click-join=; expires=Thu,01-Jan-1970 00:00:00 GMT; Max-Age=0; Path=/","expires"=>"Thu,01 Jan 1970 00:00:01 GMT","cache-control"=>"no-cache","content-encoding"=>"gzip","transfer-encoding"=>"chunked"}

解决方法

您可以尝试将随机查询参数附加到URL.如:

page = agent.get "http://website.com/password_protected_page?random=#{Time.now.to_i}"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读