#!/usr/bin/env python3 """模拟定时业务任务:记录每次执行时间与序号。""" from __future__ import annotations import json import os import socket import time from datetime import datetime, timezone from pathlib import Path def main() -> None: run_id = os.environ.get("GITHUB_RUN_ID") or os.environ.get("GITEA_RUN_ID") or "local" job = os.environ.get("GITHUB_JOB") or "manual" host = socket.gethostname() now = datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ") ts = int(time.time()) out_dir = Path(os.environ.get("TASK_OUT_DIR") or "artifacts") out_dir.mkdir(parents=True, exist_ok=True) record = { "run_id": run_id, "job": job, "host": host, "utc": now, "epoch": ts, "message": f"task ok at {now} on {host}", } path = out_dir / f"run-{run_id}-{job}-{ts}.json" path.write_text(json.dumps(record, ensure_ascii=False, indent=2) + "\n", encoding="utf-8") print(json.dumps(record, ensure_ascii=False)) print(f"wrote {path}") if __name__ == "__main__": main()