问答

将爬虫部署到云服务器后,如何监控爬虫进度?

作者:admin 2021-05-08 我要评论

将爬虫部署到云服务器中,如何监控爬虫进度? 在校学生,每天晚上会断网,有时候需要爬取大量数据,断网就很烦,所以想到了把爬虫部署到云端服务器。所以通过学...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

将爬虫部署到云服务器中,如何监控爬虫进度?

在校学生,每天晚上会断网,有时候需要爬取大量数据,断网就很烦,所以想到了把爬虫部署到云端服务器。所以通过学生优惠买了一个腾讯云。系统为 centos7

但是发现了一个问题,找了半天也没有结果特来提问,通过ssh连接云服务器后,跑起程序后如果断开ssh,程序会自己中断。

经过搜索发现,可以使用nohub命令,来解决这个问题,但是又出现到新的问题,我没法监控到程序的进度。因为平时我会通过print到终端来查看具体的进度。但是通过这种方式没法看到实时的结果。

只有等到程序跑完才会将结果输出的nohub.out,而且如果退出ssh连接,重新连接后也不知怎么停止程序。

期望回答的问题

  • 有没有什么办法可以断开ssh后重新连接的时候保持上次的用户状态?

    • 例如:终端正在不停输出1234……,退出ssh连接后重连可以继续看到输出的进度
    • 或者形式可以监控到程序到进度,并可以自行进行终断等操作
  • 或者有什么更好到方式可以解决问题?

    • 不要求本地一直保持网络通常
    • 云服务器跑着爬虫程序
    • 有需要时可以随时查看爬虫进度
    • 可以随时控制程序终断或启动

关于nohup补充一个图例

image.png

###

先说一问题,如果你输出到终端, 比如 nohup python a.py 2>&1 >/tmp/a.out & 这种启动方式,你去看 /tmp/a.out 啊,看啥 nohup.out 啊.. 另外,想终止进程你就 ps -ef | grep a.py 拿到 pid 之后就 kill 掉呗.

不太了解使用的爬虫框架是啥哈,但是我觉得吧,想解决你这个问题不是很难.起一个 web 服务,起一个消息队列或者别的存储方案都可以,爬虫进程只管关注消息队列或者存储里的任务,有任务就去爬,没有任务就休眠,web 服务只管去操作和监控这个消息队或者存储,以及爬虫的开关即可.

###

其实你可以用tmux 或者 screen工具,这样你断开ssh后,程序可以继续运行,不会被打断的。

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 将爬虫部署到云服务器后,如何监控爬虫

    将爬虫部署到云服务器后,如何监控爬虫

  • android 的xml模板标识android, app, t

    android 的xml模板标识android, app, t

  • 一个可能治愈你秃顶的问题:个人办网站

    一个可能治愈你秃顶的问题:个人办网站

  • typescript 函数声明使用: 和=>

    typescript 函数声明使用: 和=>

腾讯云代理商
海外云服务器