如何通过Rails控制台查看Resque中的定时延迟任务?
在Rails控制台获取Resque-Schedule的延迟任务列表
要在Rails控制台查看所有通过resque-schedule创建的延迟/调度任务,直接使用resque-schedule提供的内置方法即可:
- 启动Rails控制台
rails console
- 获取所有已调度的任务列表
执行以下Ruby代码,会返回包含所有延迟任务信息的数组:
Resque::Scheduler.all_scheduled_jobs
每个任务元素是哈希结构,包含class(任务类名)、args(任务参数)、queue(所属队列)、at(执行时间的时间戳)等核心字段。
- 格式化输出任务信息
如果需要更友好的可读格式,比如把时间戳转换为具体时间,可以遍历输出:
Resque::Scheduler.all_scheduled_jobs.each do |job| puts "任务类: #{job['class']}, 参数: #{job['args']}, 执行时间: #{Time.at(job['at'])}" end
- 查看指定队列的延迟任务
如果只想查看某个特定队列的延迟任务,使用:
# 0是起始索引,100是要获取的任务数量,可按需调整 Resque.delayed_queue_peek('your_queue_name', 0, 100)
内容的提问来源于stack exchange,提问作者Hardika Desai
相关产品推荐
相关产品推荐

