You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hangfire:定时任务CRON表达式在数据库中的存储位置及查询方法

HangFire定时任务CRON表达式的存储位置及SQL查询方法

HangFire的定时任务(Recurring Job)的CRON表达式并不存储在HangFire.Set表,而是存在HangFire.Hash表中:

  • 每个Recurring Job对应Hash表中的多条记录(每条记录存储一个属性),其中存储CRON表达式的记录Field值为Cron,对应的Key格式为recurring-jobs:{任务ID}。

你提供的SQL查询的是Set表,这是错误的——Set表仅用于存储Recurring Job的索引集合,不包含CRON表达式的具体内容。正确的SQL语句应该查询Hash表,示例如下:

SELECT
    -- 提取任务ID(去掉前缀'recurring-jobs:')
    SUBSTRING(h.[Key], 16, LEN(h.[Key]) - 15) AS JobId,
    h.Value AS CronExpression,
    -- 如需其他属性,可添加对应的Field查询
    (SELECT Value FROM HangFire.Hash WHERE [Key] = h.[Key] AND Field = 'JobType') AS JobType
FROM
    HangFire.Hash h
WHERE
    h.Field = 'Cron'
    AND h.[Key] LIKE 'recurring-jobs:%'

如果只需要所有CRON表达式及对应的任务标识,简化版SQL:

SELECT
    h.[Key] AS FullJobKey,
    h.Value AS CronExpression
FROM
    HangFire.Hash h
WHERE
    h.Field = 'Cron'
    AND h.[Key] LIKE 'recurring-jobs:%'

内容的提问来源于stack exchange,提问作者Jacek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 14:59:52