这个项目能做什么
ms-job-watcher是一个在GitHub Actions上无人值守运行的自动化求职提醒管道。它轮询六大主要公司职业API(微软、英伟达、亚马逊、高盛、IBM、甲骨文)以及大约1200个经过精心策划的ATS职位板,这些职位板分布在Greenhouse、Lever、SmartRecruiters、Workday和Ashby平台之上。职位通过基于规则的分类进行筛选,排除实习、质量保证、销售、市场、安全许可、需要公民身份或不提供赞助的职位,同时软性排除除非与强SWE信号结合否则不包含DevOps/运维角色的职位。结果会与已保存的JSON状态进行去重处理,新匹配项通过Gmail SMTP以摘要形式发送邮件。
该管道运行两种独立模式:主管道每约10分钟检查一次公司API,而职位板管道则每约30分钟以基于游标的批次方式扫描ATS职位板,每次处理200个职位以确保在GitHub Actions超时前完成完整扫描。职位板获取使用ThreadPoolExecutor并发执行,并为每个平台设置信号量。返回404/410错误的失效职位板将被自动跳过。Flask仪表板提供对已见职位和运行历史的浏览功能。
技术栈包括Python 3.11、requests、BeautifulSoup4、GitHub Actions、Gmail SMTP、Flask。状态以原子JSON文件形式保存并提交回仓库,以确保在临时运行器中也能存活。生产调度使用cron-job.org触发workflow_dispatch API,实现可靠的短时间间隔调度。
评论
0 评分人数达到10人后显示
登录后参与讨论。