码迷,mamicode.com
首页 > 其他好文 > 详细

Sidekiq任务堵塞问题

时间:2015-02-07 17:26:09      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:

  今天发现服务器上的sidekiq 线程全忙。队列里任务积累了好多。

  sidekiq里的任务基本都是爬虫脚本,都需要请求外部网站。但是有些网站的响应时间或者读取时间太久,一直一直卡在那里。使得后面的任务不能执行。

  所以我们就应该控制请求外部链接的读取时间,避免线程卡住。

  在任务里请求外部网站有两种方式:

  第一种用rest_client请求.

RestClient.post url, params

  改进方法:

RestClient::Request.execute(
        :method => :post,
        :url => url,
        :payload => params,
        :timeout => 10,
        :open_timeout => 10
      )

  另一种用Nokogiri请求。

Nokogiri::HTML.parse(open(url))

  改进方法:

Nokogiri::HTML.parse(open(url, :read_timeout => 10))

 

 

Sidekiq任务堵塞问题

标签:

原文地址:http://www.cnblogs.com/wangyuyu/p/4278995.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!