ruby-on-rails - 为什么我的 sidekiq 计划的 cron 作业没有在 heroku 上运行?
问题描述
我为我在 Rails 中编码的应用程序编写了几个预定的作业。这些工作会废弃网球比赛和结果的数据。它们在我的计算机上安排时运行完美。当我每分钟设置一个cron表达式'* * * * *'时,它们也在heroku上运行。
但是当我尝试为每四个小时设置一个表达式时,它会停止运行,但 heroku 工作人员已启动并且不会崩溃,所以我真的不明白发生了什么。我尝试了几种方法来编写我的 cron 表达式。
这是我在 sidekiq.yml 中尝试的最后一个:
:schedule:
set_scrapp_state_job:
cron: '1 1,13 * * *'
class: SetScrappStateJob
set_scrapp_drawed_job:
cron: '1 2,14 * * *'
class: SetScrappDrawedJob
fill_participants_and_create_first_round_games_job:
cron: '1 3,15 * * *'
class: FillParticipantsAndCreateFirstRoundGamesJob
reset_participants_while_qualified_and_luckyloser_in_draw_job:
cron: '1 4,16 * * *'
class: ResetParticipantsWhileQualifiedAndLuckyloserInDrawJob
fill_wins_with_bye_job:
cron: '1 5,17 * * *'
class: FillWinsWithByeJob
fill_games_results_for_current_tournaments_job:
cron: '1 0,2,4,6,8,10,12,14,16,18,20,22 * * *'
class: FillGamesResultsForCurrentTournamentsJob
解决方案
这实际上是我在 Heroku 上使用的计划的问题。免费计划让 dinos 在 30 分钟后睡觉,即使他们有后台工作要做,我认为这只是 web dynos 的情况。所以我改变了最便宜的计划,现在它可以工作了,因为测功机不再闲置了:)
推荐阅读
- intellij-idea - 使用 IntelliJ IDE 进行本地开发,但从远程机器进行测试
- android-studio - Android Studio 4.0 无法识别任何以前的虚拟设备
- c++ - 编写 MethodChannel 桥与 dart:ffi 桥以运行 c/c++ 代码以获取响应之间有什么区别?
- python - Python IndexError:列表索引超出范围。有人能帮我吗?
- electron - 包括非电子文件夹作为 NSIS 安装的一部分
- wordpress - Woocommerce 产品仅“有货”
- ipad - GWT:文本框在 Ipad 上不显示光标
- java - Java Regex 将连续的单词和数字返回到 arraylist
- python - python中序列中碱基的频率
- python - 如何根据两列过滤时间序列熊猫数据框?