Skip to content

思考:自动化工作流程之邮件提醒,多线程工作! #119

@Evifly

Description

@Evifly

大佬我又来了!!这回有个新的想法
1 返回状态码及邮件提醒
之前因为各种原因比如网络,比如硬盘,程序会中断,但是只有等到下次再打开终端的时候才能发现程序有没有完成,所以就是想 能不能提供一种状态码,写入对应的log文档,再通过别的程序发送到邮箱,我现在测试的结果是用ssmtp来写脚本,运行完程序就发送邮件。但是不知道运行结果,所以只能算是提醒,所以想能不能这么做。

分支1
流程1 程序正常运行,运行完成后返回代码 0 表示无错误 爬虫正常运行成功
流程2 将 代码0 写入 log.txt 文档
流程3 通过其它软件 将 爬虫结果发送到指定邮箱 通知已经完成

分支2 
流程1 程序出现错误,反对代码 1 (主要是现在的程序一旦错误,返回的都是错误的具体信息,而非一个代码值,所以不太好作为状态码,发送,所以想直接将所有非正常情况都视作失败,提醒程序员重新运行爬虫
流程2 将代码2 写入 log.TXT 文档
流程3 发送邮件 提醒程序员重新运行爬虫

分支1-1(扩展思考)
流程1 爬虫正常运行,每爬取完一个ID 就生成一次状态码 或者定时获取信息(当前爬虫运行到了什么位置 已经爬取了多少内容 已经爬了多少个ID)
流程2 将状态码写入 log.TXT 并触发shell脚本 或者邮件信息
流程3 程序员收到邮件 得到当前程序运行状况

2 多线程工作
大佬!!!求问有没有考虑过这样的线程工作方式,让程序多进入几个Cookie,然后每个cookie视作一个爬虫,然后每个爬虫从user_ID_list中领取一个ID 爬取 爬完以后再进行下一个,这样可能会快很多欸!!

user_ID_list
id1
id2
id3
id4
id5
id6
·········

cookies
cookie1
cookie2

-----
程序运行爬虫
cookie1 -->id1
cookie2 -->id2
cookie1 完成id1 继续爬取id3
cookie2 完成id2 继续爬取id4
cookie1 完成id3 继续爬取id5
cookie1 完成id5 继续爬取id6

综上!!给大佬添麻烦了!!!

Metadata

Metadata

Assignees

No one assigned

    Labels

    to do未来要完成的功能或要修复的问题

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions