|  |      1Latin      2020-07-01 16:27:32 +08:00  1 | 
|  |      2zzxy001 OP 还请大佬们指点迷津,百度了半天也没找到好的解决办法 | 
|  |      3scukmh      2020-07-01 16:32:29 +08:00 webhook 它不香嘛? | 
|  |      4Ultraman      2020-07-01 16:33:06 +08:00 via Android 不负责任猜测哦,开个 git 仓库,本地改完推上去,服务端写个脚本定时往回拉然后关掉旧的开新的。虽然比较糙。 | 
|  |      5wysnylc      2020-07-01 16:36:27 +08:00 所有的项目最终都要考虑分布式 | 
|      6lenqu      2020-07-01 16:38:02 +08:00 容器化解决的就是这个问题,常规 k8s,简单 shell 脚本就能实现 | 
|  |      7zzxy001 OP 目前是这个问题,以后项目可能需要根据任务的不同动态启动不同的 selenium 爬虫程序,让每个服务器都不会空闲。 我属于小白一个,感谢大家。大家提的建议我都会去百度学习,看看能不能实现我想要的功能 | 
|  |      9MrTreasure      2020-07-01 16:44:44 +08:00 找一个 ssh 的库,写脚本,把你这些手动操作的步骤都写成脚本 | 
|  |      10zzxy001 OP @MrTreasure 是 shell 脚本可以完成这些步骤吗? | 
|  |      11zzxy001 OP @MrTreasure  刚刚初步搜了一下,shell 脚本是 Linux 系统,window 可以用吗 | 
|  |      12la2la      2020-07-01 17:00:03 +08:00 使用工具是有成本的,如果服务器或者爬虫的数量不是特别多的话,可以写个脚本,在开发环境测试后,运行脚本把文件分配到服务器上,顺便重启。 | 
|  |      13raphael008      2020-07-01 17:06:31 +08:00 linux->ansible windows->powershell | 
|      14matepi      2020-07-01 17:12:23 +08:00 搭 Git 爬虫的任务进程以外,再开个守护性进程。守护进程负责从 Git 上拉;拉完杀了重启任务进程 守护性进程还可以做些例行任务管控、查询任务进度之类的的动作,和爬虫执行任务进程解耦分离 守护进程挂到 windows 服务自启。 | 
|      15kalago      2020-07-01 17:13:15 +08:00 scrapyd 不能满足你这个需求吗? | 
|  |      16Saurichthys      2020-07-01 17:32:47 +08:00 xx-job 维护就好了 | 
|      17luocjv      2020-07-01 17:33:09 +08:00  1 代码加版本控制推荐 git, 可以自己搭建 gitlab 或者用 github 之类的,然后改完代码用 webhook 触发多个服务器上的更新代码脚本并重启服务 | 
|      18wiken      2020-07-01 18:00:14 +08:00 git + webhook | 
|  |      19tikazyq      2020-07-01 18:08:03 +08:00 via iPhone | 
|      21gabon      2020-07-01 21:36:38 +08:00 via Android 任务调度平台 | 
|      22qsbaq      2020-07-01 21:50:38 +08:00 定时每分钟拉取 git 或者 svn 最新的代码 然后定期用脚本重启爬虫 | 
|  |      23ClericPy      2020-07-01 23:04:43 +08:00 最近正好也在整集群折腾 chrome 爬虫, 不过肯定不会用 selenium 这种过时的东西... 简单的说, linux 真的太香了, 一开始用的 VPS 是 windows Server 用的 rdp 一开始还觉得有界面挺好的, 安装软件也挺快的... 后来贴代码实在傻, 就又弄了几台 CentOS, 全程 fabric, 线上调试也是 tmux 太简单了, 关键内存利用率高多了 跑题了, 目前楼上们说的用 git 自动拉代码已经是成本比较低的了, 如果代码不敏感, 自己写个 api 远程下代码对比字符串变化重启服务的小脚本也不是没写过... | 
|  |      24jiejiss      2020-07-01 23:16:33 +08:00 写个新爬虫从你的服务器上爬取旧爬虫的源码,然后替换+重启 :D (建议你用土法子是考虑到你很可能弄不来 webhook 。否则还是建议 webhook | 
|  |      25metamask      2020-07-01 23:17:33 +08:00 如果不考虑其他比较好的办法,快速解决 > 将新代码复制粘贴进去,然后关闭正在运行的爬虫程序,再打开新更换的。 2 种方法,被动和主动 1.写个 script, 内容:git pull,restart ( kill pid,start ); 2.1 被动:楼上说的,webhook,或者直接用 pipeline ; 2.2 主动:你直接写个脚本,每分钟自动 git pull 代码,pull 到代码就 restart | 
|  |      26locoz      2020-07-01 23:33:23 +08:00 via Android  1 如果考虑到未来的扩展性和方便性,建议上容器化,但是系统最好是换成 Linux 。管理方面简单粗暴点就 docker 自带的那套集群方案,复杂点又想省资源就 k3s,可以结合脚本也可以直接对接 cicd 实现代码更新后自动更新所有服务器的程序。 | 
|  |      27opengps      2020-07-01 23:51:07 +08:00 搭建成内网共享同一个数据库。各自取数更新标识 | 
|  |      28wst      2020-07-02 00:34:07 +08:00 via Android 简单的分布式爬虫框架 Aragog https://www.v2ex.com/t/683324 | 
|  |      29phobal      2020-07-02 08:40:15 +08:00 via iPhone GitHub Action 、gitlab 自定义 webhook,或者写个 pipeline,方法不要太多 | 
|  |      30zzxy001 OP 这个社区的大神就是多,谢谢各位。根据大家的建议我搜索了关键词,找到了一个解决办法附带了 shell 脚本代码的,目前准备先试一试。当然 git 和 webhook 我也会试一试,学习一下新技术 |