TickerQ 作业调度与监控
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/schedule-and-inspect-dotnet-agent-jobs-with-tickerq。
技能介绍
问题场景
在构建 .NET 代理服务时,开发者经常需要处理定时触发的任务——比如定期拉取数据、执行批处理作业或清理过期缓存。原生的 Timer 或 IHostedService 方案存在明显短板:进程重启后任务状态丢失、单机部署无法水平扩展、失败后缺乏重试机制。当代理作业需要跨节点协调或满足合规审计要求时,这些缺陷会直接导致数据不一致或运维盲区。
核心能力
TickerQ 为这一场景提供了系统化的能力:
- 持久化调度:通过
EF Core或Redis作为底层存储,cron 表达式和一次性任务的执行状态可以跨重启保留,避免任务丢失或重复触发。 - 失败重试与多节点协调:作业失败后可配置自动重试策略,同时多节点部署下通过分布式锁确保同一作业不会被多个实例并发执行。
- 可观测性:内置
OpenTelemetry检测,作业执行耗时、错误信息等指标可直接接入现有监控链路;可选的 TickerQ Dashboard 提供实时任务状态面板,无需额外搭建前端。
适用边界
该技能的前提条件明确:需要 .NET 应用环境、TickerQ NuGet 包,以及 EF Core 或 Redis 之一作为持久化后端。如果仅需要内存级调度且不关心状态持久化,引入完整方案反而增加复杂度。此外,SKILL.md 本身未提供可直接执行的安装命令,实际接入前需查阅上游项目文档确认具体配置方式,在生产环境或敏感流程中使用前务必完成充分的测试验证。
使用场景
- 代理服务需要在每天凌晨拉取外部数据源并写入数据库,且要在进程重启后恢复未完成的任务
- 多个服务实例同时运行同一作业,需要防止重复执行并记录每个实例的执行情况
- 批处理作业偶发失败,需要配置自动重试并在达到上限时推送告警通知
- 运维团队希望在不搭建独立监控前端的情况下,通过面板实时查看所有定时任务的执行状态
适合人员
- 构建 .NET 代理服务的后端工程师,需要为业务逻辑接入可靠的定时任务调度
- 负责高可用架构的技术负责人,关注多节点部署下的作业协调与状态持久化
- 运维工程师,希望通过统一面板监控多个微服务中的定时作业执行状态
- 需要将外部数据定时同步到数据库的数据工程师,关注任务失败后的重试与告警