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))
     
  • 相关阅读:
    php函数
    php循环语句(二)
    php循环语句(一)
    php魔术常量
    php超级全局变量
    php数组函数
    php数组
    php条件语句(二)
    php条件语句(一)
    shell 中的判断
  • 原文地址:https://www.cnblogs.com/wangyuyu/p/4278995.html
Copyright © 2011-2022 走看看