Об этом проекте
ms-job-watcher — это автоматизированная система уведомлений о вакансиях, которая работает без участия пользователя на GitHub Actions. Она опрашивает шесть крупных карьерных API компаний (Microsoft, NVIDIA, Amazon, Goldman Sachs, IBM, Oracle) и примерно 1200 отобранных досок вакансий ATS на платформах Greenhouse, Lever, SmartRecruiters, Workday и Ashby. Вакансии фильтруются для позиций entry и mid-level software engineering в США с использованием правила-основанной классификации, которая жестко исключает стажировки, QA, продажи, маркетинг, должности с требованиями по безопасности и гражданству, а также те, где не предоставляется спонсорство, при этом мягко исключая роли DevOps/ops, если только они не связаны со сильным сигналом SWE. Результаты дедуплицируются против сохраненного состояния JSON, новые совпадения отправляются по электронной почте в виде дайджестов через Gmail SMTP.
Пайплайн работает в двух независимых режимах: основной пайплайн проверяет API компаний каждые ~10 минут, а пайплайн досок опрашивает доски ATS каждые ~30 минут в виде курсорных партий по 200 для завершения полного обхода в рамках ограничений времени выполнения GitHub Actions. Доски загружаются параллельно с использованием ThreadPoolExecutor с семафорами на платформу. Неактивные доски, возвращающие коды 404/410, автоматически пропускаются. Панель управления Flask предоставляет возможность просмотра просмотренных вакансий и истории запусков.
Технологический стек: Python 3.11, requests, BeautifulSoup4, GitHub Actions, Gmail SMTP, Flask. Состояние сохраняется в виде атомарных JSON-файлов, которые коммитятся обратно в репозиторий, чтобы выжить на эфемерных раннерах. Продуктовое планирование использует cron-job.org для вызова API workflow_dispatch для надежных коротких интервалов.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.