que-scheduler 项目使用教程

que-scheduler 项目使用教程

que-schedulerA lightweight cron scheduler for the async job worker Que项目地址:https://gitcode.com/gh_mirrors/qu/que-scheduler

项目的目录结构及介绍

que-scheduler 项目的目录结构如下:

que-scheduler/
├── bin/
├── config/
│   └── que_schedule.yml
├── lib/
│   └── que/
│       └── scheduler/
├── spec/
├── Gemfile
├── Gemfile.lock
├── LICENSE
├── README.md
└── que-scheduler.gemspec
  • bin/: 包含项目的可执行文件。
  • config/: 包含项目的配置文件,如 que_schedule.yml
  • lib/: 包含项目的源代码,其中 que/scheduler/ 目录下是核心逻辑。
  • spec/: 包含项目的测试文件。
  • GemfileGemfile.lock: 定义项目的依赖关系。
  • LICENSE: 项目的许可证文件。
  • README.md: 项目的说明文档。
  • que-scheduler.gemspec: 项目的 gem 规范文件。

项目的启动文件介绍

que-scheduler 项目的启动文件主要是通过 Gemfile 引入,并在 Rails 项目中通过初始化脚本进行配置。以下是一个典型的启动流程:

  1. Gemfile 中添加 gem 'que-scheduler'
  2. 运行 bundle install 安装依赖。
  3. 创建 config/que_schedule.yml 配置文件。
  4. 运行数据库迁移,创建必要的表:
class CreateQueSchedulerSchema < ActiveRecord::Migration[6.0]
  def change
    Que::Scheduler::Migrations.migrate(version: 8)
  end
end
  1. 在 Rails 初始化脚本中配置 que-scheduler
Que::Scheduler.configure do |config|
  config.schedule_location = ENV.fetch("QUE_SCHEDULER_CONFIG_LOCATION", "config/que_schedule.yml")
end

项目的配置文件介绍

que-scheduler 的配置文件位于 config/que_schedule.yml,其格式类似于 resque-scheduler,但有一些额外的特性。以下是一个示例配置:

SpecifiedByHashTestJob:
  cron: "02 11 * * *"
  args:
    key: "value"
  • SpecifiedByHashTestJob: 要调度的任务类。
  • cron: 使用 crontab 语法定义调度频率。
  • args: 传递给任务的参数。

此外,还可以通过 Ruby 代码动态生成配置:

Que::Scheduler.configure do |config|
  config.schedule = [
    SpecifiedByHashTestJob: {
      cron: "02 11 * * *",
      args: { key: "value" }
    }
  ]
end

通过以上配置,que-scheduler 将按照定义的频率自动调度任务。

que-schedulerA lightweight cron scheduler for the async job worker Que项目地址:https://gitcode.com/gh_mirrors/qu/que-scheduler

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江涛奎Stranger

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值