Об этом проекте
Данный проект предназначен для сценариев, требующих непрерывного и своевременного сбора экологических данных, и предлагает схему автоматического сбора и архивации на базе GitHub Actions. В README указано, что концепция основана на HeQinWill/CNEMC, но с улучшениями в методах планирования и стабильности. В настоящее время поддерживается обновление данных мониторинга окружающей среды CNEMC в реальном времени; в планах — данные коротковолнового излучения (SWR) со спутника Himawari с 10-минутным интервалом.
Результаты сбора данных архивируются в формате CSV по датам. Пользователи могут быстро загружать почасовые данные через ссылки raw.githubusercontent или получать список файлов за определенный день через GitHub Contents API. Одной из основных целей является обход проблем с задержками или пропусками срабатывания встроенного cron в GitHub Actions, поэтому рекомендуется использовать внешний триггер: облачная функция по расписанию вызывает официальный интерфейс Workflow Dispatch GitHub для удаленного запуска определенного workflow.
Что касается конфигурации, в репозитории проекта необходимо настроить Actions secret: имя GTOKEN, значение — персональный токен доступа. Personal Access Token должен быть типа classic с отмеченными разрешениями repo и workflow; без разрешения workflow запуск workflow_dispatch через API будет невозможен. Относительно платформ облачных функций в README указано, что работа с Tencent Cloud Functions (SCF) подтверждена, однако теоретически аналогичную схему можно развернуть на любой платформе, поддерживающей HTTP-запросы и запуск по расписанию. При развертывании рекомендуется прописывать ключевые параметры, такие как repo_owner, repo_name и workflow_name, в виде строковых констант или жестко кодировать их, чтобы избежать потери параметров, ошибок парсинга переменных окружения или исключений при передаче через event/context. Пример кода использует библиотеку requests для отправки POST-запроса к GitHub API с полезной нагрузкой ref=main, где кодом успешного выполнения является 204.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.