Cronhq logo

Cronhq

Freemium
访问

Cronhq 是用于运行定时 Webhook 的 REST API 和托管服务,提供恰好一次协调、重试、执行历史与告警,无需安装代理、守护进程或 SDK。

什么是 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