Sidekiq任务堵塞问题
2024-10-08 05:45:54
今天发现服务器上的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))
最新文章
- Error:Execution failed for task ':app:dexDebug'.
- ecshop商品-》获取促销商品总数
- canvas 3D运动球效果
- sftp 设置仅能访问自己目录的用户
- [原]Ubuntu 14.04编译Android Kernel
- maven-dependency-plugin插件的使用
- Unity3D 的摄像机
- Android ActionBar以及menu的代码设置样式
- CentOS安装Chrome
- JQuery方法扩展
- haskell学习笔记_函数
- NGUI ScrollView动态加入和删除对象。
- protobuf是什么?
- go日常问题记录
- [JavaScript] 表单验证不通过不提交的JS写法
- 服务器多站点多域名HTTPS实现
- response.setContentType()的String参数及对应类型
- springMVC操作cookie和session
- html5 canvas贝塞尔曲线篇(上)
- C#学习笔记(20)——使用IComparer(自己写的)
热门文章
- podspec文件介绍
- atitit.插件体系设计总结o73.doc
- 大姨吗向左,美柚向右,女性健康APP路在何方?
- wicket基础应用(1)--使用wicket对表单中的数据进行验证
- Revit API 楼板开洞
- C#Winform程序如何发布并自动升级(图解)
- 在为知笔记中使用JQuery
- The web application [] appears to have started a thread named [Abandoned connection cleanup thread] com.mysql.jdbc.AbandonedConnectionCleanupThread
- 基于apt实现的Android快速持久化框架:AptPreferences
- Maven full settings.xml