# Cronhq Cronhq 是用于运行定时 Webhook 的 REST API 和托管服务,提供恰好一次协调、重试、执行历史与告警,无需安装代理、守护进程或 SDK。 - Findings24: - 网站: - 价格: Freemium - 分类: 开发者工具 ## 什么是 Cronhq? Cronhq 是用于运行定时 Webhook 的 REST API 和托管服务。您可以通过 cron 计划和 HTTP 端点定义任务;Cronhq 会按计划调用端点、记录结果、重试失败,并在任务中断或恢复时发送去重告警。 该产品适用于可通过 HTTP 端点提供的周期性后端工作,例如数据库备份、数据同步、健康检查、清理任务、提醒和定时报表。接收 Webhook 的系统无需安装 SDK、代理或守护进程。您可以通过控制台或 API 创建任务,并通过控制台或 CLI 检查执行情况。 Cronhq 使用 Postgres 锁协调工作进程,防止两个工作进程触发同一次计划执行。它还提供签名请求、心跳监控、执行历史、cron-as-code 工作流和自然语言计划助手。产品支持自托管,使用相同的容器、MIT 许可证,以及由客户提供的 Postgres 数据库。 ## Cronhq 能做什么? ### 定时 Webhook 执行 通过 REST API 或控制台,使用 cron 计划和 Webhook URL 创建任务。每次执行都会记录其状态、持续时间、HTTP 状态码和响应正文。 ### 恰好一次协调 Postgres 锁会协调工作进程,确保同一次计划执行不会被触发两次。如果工作进程在任务执行期间崩溃,锁过期后,其他工作进程可以接管。 ### 可配置重试 任务可以通过退避策略重试失败的投递。最终状态和最近一次错误会保留在执行历史中,便于后续调查。 ### 去重告警 告警可发送至电子邮件或 Slack。Cronhq 会在达到文档所述的失败阈值后发送告警,而不是每次失败都发送;随后成功时会发送恢复通知。 ### 签名 Webhook 与心跳监控 请求包含用于验证的 HMAC-SHA256 签名和时间戳,每个任务使用独立密钥。心跳监控会检测预期 ping 是否缺失,并将监控标记为 DOWN。 ### CLI 与计划管理 CLI 可以从 \`cronhq.yaml\` 文件同步任务,并使用 \`tail\` 流式查看执行记录。控制台的命令面板可将自然语言计划描述转换为 cron 表达式,并提供预览。 ## 使用场景 ### 数据库备份 使用备份模板安排每晚执行 \`pg\_dump\` 或 \`mysqldump\`,并通过您控制的端点将归档发送到 S3 或 R2。 ### 周期性数据同步 每小时运行 Stripe 到 Postgres 的同步端点,将分析数据复制到您的数据库中,而不是在每次分析时查询 Stripe API。 ### 服务健康监控 每五分钟向健康检查端点发送一次请求,或配置心跳监控来检测遗漏的运行,并在预期活动停止时发送告警。 ### 维护与团队工作流 自动执行会话、令牌、密码重置和速率限制桶等任务,或通过现有后端端点发送工作日 Slack 提醒和每周指标电子邮件。 ## 常见问题 ### 如何创建 Cronhq 任务? 注册后复制 API 密钥,然后使用 REST API 或控制台,通过计划和 Webhook URL 创建任务。文档展示了 \`POST /v1/jobs\` 请求,任务会在下一次计划触发时变为活动状态。 ### 是否需要安装 SDK 或后台代理? 不需要。Cronhq 作为用于定时 Webhook 的 REST API 使用,因此接收系统只需提供一个端点。网站说明您无需安装 SDK、代理或守护进程。 ### Cronhq 如何处理重复的计划运行? Cronhq 使用 Postgres 锁协调工作进程。产品文档说明,这可以防止两个工作进程触发同一次计划执行;工作进程崩溃后,其锁过期,其他工作进程即可接管。 ### Webhook 失败后会发生什么? Cronhq 会根据任务配置的重试和退避设置进行重试,在历史记录中保留最终结果和最近一次错误,并可通过电子邮件或 Slack 发送告警。网站说明,任务在一小时内第三次失败后会发送失败告警,之后首次成功时会发送恢复告警。 ### Cronhq 支持自托管吗? 支持。定价页面说明,自托管永久免费,使用 MIT 许可证下的相同容器,以及由您提供的 Postgres 数据库。 ## 快速信息 - **类别**: 定时 Webhook 与开发者运维 - **主要界面**: 带控制台和 CLI 的 REST API - **托管服务 URL**: api.cronhq.xyz - **执行模式**: 由 Postgres 协调的恰好一次计划运行 - **计划**: Free、Developer 和 Pro 层级;同时支持自托管 - **自托管**: 采用 MIT 许可证的容器,以及由客户提供的 Postgres