首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用"simple_scheduler“自定义间隔的Heroku Scheduler

使用"simple_scheduler“自定义间隔的Heroku Scheduler
EN

Stack Overflow用户
提问于 2017-10-11 17:51:06
回答 1查看 611关注 0票数 1

我想在每个星期六的晚上11点45分运行一个调度程序,但是如果在heroku中任何时候使用 gem都不支持,那么我们如何编写带有自定义间隔的Heroku呢?

答案:

Simple Scheduler是一种用于Sidekiq和Heroku Scheduler.It的调度附加程序,它使您能够在不添加时钟进程的情况下对任务进行任何间隔的调度。Heroku Scheduler只允许您每10分钟、每小时或每一天安排任务。

步骤1: gem "simple_scheduler“步骤2:包步骤3:在Rails项目中创建文件配置/simple_Scheder.yml:

代码语言:javascript
复制
# Global configuration options. These can also be set on each task.
queue_ahead: 360 # Number of minutes to queue jobs into the future
tz: nil # The application time zone will be used by default if not set

# Runs once every 2 minutes
simple_task:
  class: "SomeActiveJob"
  every: "2.minutes"

# Runs once every day at 4:00 AM. The job will expire after 23 hours, which means the
# job will not run if 23 hours passes (server downtime) before the job is actually run
overnight_task:
  class: "SomeSidekiqWorker"
  every: "1.day"
  at: "4:00"
  expires_after: "23.hours"

# Runs once every half hour, starting on the 30 min mark
half_hour_task:
  class: "HalfHourTask"
  every: "30.minutes"
  at: "*:30"

# Runs once every week on Saturdays at 12:00 AM
weekly_task:
  class: "WeeklyJob"
  every: "1.week"
  at: "Sat 0:00"
  tz: "America/New_York"

步骤4:将rake任务添加到Heroku Scheduler,并将其设置为每10分钟运行一次:rake simple_scheduler

有关更多信息,您可以按照下面的链接,

scheduler

EN

回答 1

Stack Overflow用户

发布于 2017-10-15 14:29:45

这是很容易实现的。假设我们有一个名为example_task的任务,我们可以这样做:

代码语言:javascript
复制
example_task:
  class: "ExampleJob"
  every: "1.week"
  at: "Sat 23:45"

请注意,ExampleJob必须扩展ActiveJob::Base并实现执行方法,该方法将保存任务的逻辑。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46694594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档