zoukankan      html  css  js  c++  java
  • Sidekiq任务堵塞问题

      今天发现服务器上的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))
     
  • 相关阅读:
    TinyOS在ubuntu 14.04下安装教程
    C++ STL标准入门
    C++ 模板
    多态
    C++继承
    C++类型转换 -- 由其他类型转换到自定义类型
    运算符重载
    友元
    typedef用法
    c++细节--section1
  • 原文地址:https://www.cnblogs.com/wangyuyu/p/4278995.html
Copyright © 2011-2022 走看看