问题标签 [resque-scheduler]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 作业调度程序 Resque 中的循环以设定的时间间隔运行
我有一个数据库,其中包含一些我想以设定的时间间隔(例如:每 60 秒)发布到 Twitter 的推文/文本。推文应该遍历一个 for 循环并在每个时间间隔发布一条推文。
我已经编写了一个方法,它对一条推文执行此操作,然后休眠 60 秒。
这基本上完成了我想要实现的目标,但需要在后台进行异步处理。我已经尝试并成功安装了 redis/resque,但未能实施和工作。我是 Rails 新手,以前从未设置过后台工作人员/工作。
我在 resque 中实现了一个 Sender.rb 作业
我已经根据文档实现了 resque 并自动自动加载所有作业文件夹。
但我目前遇到了几个问题。像这样,每次我启动工作程序时都会运行 for 循环(我从来没有让它运行)。我需要弄清楚每次工作开始时工作人员如何逐个遍历数据库条目。另外,我如何安排要执行的作业(例如每 60 秒或每 24 小时运行 Sender.rb 作业等)?对不起,这个有点模糊的帖子,但我几天来一直试图解决这个问题,但一无所获。
ruby-on-rails - Resque Worker:worker中不可用的对象和方法
我的网络应用程序中有以下工作人员
它由以下 resque-scheduler tweet_scheduler.yml 调度
推文发件人:
由他 resque.rake 定义
在 resque web 界面中,我收到以下错误
我还尝试在没有 update_atttribute 方法的情况下实现 tweet_sender.rb,如下所示:
并得到以下错误:
为什么我的方法和标准 rails 方法在我的工作人员中不可用?我是否需要在某处明确要求它们?
ruby-on-rails - 在使用 Resque-scheduler 和 redis 时,在提到的延迟时间过去后延迟作业未进入主作业队列
我需要执行一项工作,其中每次创建订单时都会将其分配给供应商,如果供应商不接受订单并在指定时间内更新状态,订单将自动拒绝,状态更新为拒绝。我面临的问题是,该作业进入延迟队列,如 resque Web 视图中所示,但在指定的延迟时间后没有移动到主队列延迟失效
这是我的工作。
在我的分配模型中:
在这里,一旦创建了分配记录,状态通常在创建时保持为“已分配”。现在从创建之日起,如果用户在指定时间内没有更新状态,则作业必须自动将状态更新为“已拒绝”。
我也试过这个方法。
他们都将作业发送到 resque 延迟队列,但不将作业或将作业带到主队列执行。
此外,当我单击延迟作业的所有计划链接时,作业的时间戳显示没有列出要安排的作业
我被这个问题困扰了将近两个星期。请帮忙!如果需要更多信息,请告诉我。与这个有一段艰难的时光。
ruby-on-rails - 在 Resque 邮件程序中设置不同的队列名称
在我的 rails4 应用程序中,我需要每周向所有用户发送一次电子邮件。用户属于不同的部门。我需要根据部门明智的队列名称来组织邮件发送。但是,我不知道如何在发送邮件时将队列名称作为参数。所有邮件使用相同的队列名称“weekly_user_activity_queue”。未设置为如下定义的部门名称队列。我怎样才能做到这一点。代码如下所示:
宝石文件:
应用程序/邮件程序/user_activit_mailer.rb
请帮忙。提前致谢。
ruby-on-rails - Ruby on Rails resque 任务出错
我正在尝试在我的 ruby on rails 应用程序中使用 resque。
我在 lib/tasks 文件夹中创建了 resque.rake 文件
我已经通过以下行启动了 redis 服务器
我的应用程序中有这个 RakeFile:
但是当我运行以下命令启动 rake
我收到此错误:
我看不到我错过了什么,
有什么建议么 ?
谢谢。
注意:我使用的是 rails 5.0.1
ruby-on-rails - Resque:不要将多余的工作排入队列?
我有一组按优先级排列的 Resque 队列。对于最低优先级队列中的所有作业,它们没有参数,并且稍后的运行将取代任何先前的运行——例如,它们正在与外部服务同步数据。因此,使用这些作业的多个副本创建积压是没有意义的——连续运行 3 次不会增加任何价值。
但是在忙碌期间,我们确实会积压(仅在此队列上),因为工作人员忙于更高优先级的工作。
我可以通过首先阻止冗余作业排队来防止这种积压吗?
rubygems - badge_label_helper.rb 无法加载 resque 作业
我们正在尝试将 rails 从 4.2 升级到 5.1.4 以及 resque gem。但我们同样得到了以下结果。
文件:/lib/tasks/resque.rake 需要'resque/tasks' 需要'resque-scheduler' 需要'resque/scheduler/server' 需要'resque/scheduler/tasks' 任务“resque:setup” => :environment do ENV ['QUEUE'] = '*' ENV['COUNT'] = '5' 需要 'resque' 需要 'resque-scheduler' 结束
_Trace : QUEUE= rake environment resque:work --trace ** 调用环境 (first_time) ** 执行环境 ** 调用 resque:work (first_time) ** 调用 resque:preload (first_time) ** 调用 resque:setup (first_time) ** 调用环境 ** 执行 resque:setup ** 执行 resque:preload rake 中止!LoadError: No such file to load --badge_label_helper.rb /Users/dinilv/.rvm/gems/ruby-2.4.2/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:476:in load'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:476:in
block in load_file ' /Users/dinilv/.rvm/gems/ruby-2.4.2/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:661:in new_constants_in'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:475:in
load_file' /Users/dinilv/.rvm/gems/ruby- 2.4.2/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:374:inblock in require_or_load'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:36:in
阻塞在 load_interlock' /Users/dinilv/.rvm/gems/ruby-2.4.2/gems/activesupport-5.1.4/lib/active_support/dependencies/interlock.rb:12:in Exclusive' block in loading'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/activesupport-5.1.4/lib/active_support/concurrency/share_lock.rb:149:in
/Users/dinilv/.rvm /gems/ruby-2.4.2/gems/activesupport-5.1.4/lib/active_support/dependencies/interlock.rb:11:in loading'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:36:in
load_interlock' /Users/dinilv/.rvm/gems/ruby-2.4.2/gems/ activesupport-5.1.4/lib/active_support/dependencies.rb:357: require_or_load'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:335:in
independ_on' /Users/dinilv/.rvm/gems/ruby-2.4.2/gems/activesupport-5.1.4/lib/active_support/dependencies.rb :251:inrequire_dependency'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/railties-5.1.4/lib/rails/engine.rb:476:in
块(2 个级别)在 eager_load!/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/railties-5.1.4/lib/rails/engine.rb:475:ineach'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/railties-5.1.4/lib/rails/engine.rb:475:in
块在 eager_load 中!/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/railties-5.1.4/lib/rails/engine.rb:473:ineach'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/railties-5.1.4/lib/rails/engine.rb:473:in
急切的加载!/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/railties-5.1.4/lib/rails/engine.rb:354:in eager_load!'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/resque-1.27.4/lib/resque/tasks.rb:45:in
each' /Users/dinilv/.rvm/gems/ruby-2.4 .2/gems/resque-1.27.4/lib/resque/tasks.rb:45:inblock (2 levels) in <top (required)>'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/rake-12.1.0/lib/rake/task.rb:251:in
块执行'/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/rake-12.1.0/ lib/rake/task.rb:251:ineach'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/rake-12.1.0/lib/rake/task.rb:251:in
执行'/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/rake-12.1.0/lib/rake/task.rb:195:in block in invoke_with_call_chain'
/Users/dinilv/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in
mon_synchronize' /Users/dinilv/.rvm/gems/ruby-2.4.2/gems/rake-12.1.0/lib/rake/task.rb:188:ininvoke_with_call_chain'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/rake-12.1.0/lib/rake/task.rb:217:in
块 in invoke_prerequisites' /Users/dinilv/.rvm/gems/ruby -2.4.2/gems/rake-12.1.0/lib/rake/task.rb:215:in each'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/rake-12.1.0/lib/rake/task.rb:215:in
invoke_prerequisites' /Users/dinilv/.rvm/gems/ruby-2.4.2/gems/rake-12.1.0/ lib/rake/task.rb:194:in block in invoke_with_call_chain'
/Users/dinilv/.rvm/rubies/ruby-2.4.2/lib/ruby/2.4.0/monitor.rb:214:in
mon_synchronize'/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/rake-12.1.0/lib/rake/task.rb:invoke_with_call_chain'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/rake-12.1.0/lib/rake/task.rb:181:in
调用' /Users/dinilv/.rvm/gems/ruby-2.4.2/gems/rake-12.1.0/lib/rake/application.rb:153:in invoke_task'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/rake-12.1.0/lib/rake/application.rb:109:in
block (2 levels) in top_level' /Users/dinilv/ .rvm/gems/ruby-2.4.2/gems/rake-12.1.0/lib/rake/application.rb:109:in each'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/rake-12.1.0/lib/rake/application.rb:109:in
block in top_level' /Users/dinilv/.rvm/gems/ruby-2.4.2/ gems/rake-12.1.0/lib/rake/application.rb:118:in run_with_threads'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/rake-12.1.0/lib/rake/application.rb:103:in
top_level' /Users/dinilv/.rvm/gems/ruby-2.4.2/gems/rake-12.1.0/lib/rake/application .rb:81:in block in run'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/rake-12.1.0/lib/rake/application.rb:179:in
standard_exception_handling' /Users/dinilv/.rvm/gems/ruby-2.4.2/gems/rake-12.1.0/lib/rake/application.rb:78:in run'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/rake-12.1.0/exe/rake:27:in
'/Users/dinilv/。 rvm/gems/ruby-2.4.2/bin/rake:23:in load'
/Users/dinilv/.rvm/gems/ruby-2.4.2/bin/rake:23:in
' /Users/dinilv/.rvm/gems/ruby-2.4.2/bin/ruby_executable_hooks:15:ineval'
/Users/dinilv/.rvm/gems/ruby-2.4.2/bin/ruby_executable_hooks:15:in
' 任务: TOP => resque:work => resque:preload_ 命令 :QUEUE=* rake environment resque:work " _rake aborted! LoadError: No such file to load -- badge_label_helper.rb /Users/dinilv/.rvm/gems/ ruby-2.4.2/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:476:in load'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:476:in
block in load_file' /Users/dinilv/.rvm/gems/ruby-2.4.2/gems/activesupport-5.1 .4/lib/active_support/dependencies.rb:661:in new_constants_in'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:475:in
load_file'/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:374:在block in require_or_load'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:36:in
load_interlock 的块中'/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/activesupport-5.1.4/lib/active_support/dependencies/interlock.rb:12:in Exclusive block in loading'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/activesupport-5.1.4/lib/active_support/concurrency/share_lock.rb:149:in
'/Users/dinilv/。 rvm/gems/ruby-2.4.2/gems/activesupport-5.1.4/lib/active_support/dependencies/interlock.rb:11:inloading'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:36:in
load_interlock' /Users/dinilv/.rvm/gems/ruby-2.4.2/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:357:independ_on require_or_load'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:335:in
' /Users/dinilv/.rvm/gems/ruby -2.4.2/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:251:在require_dependency'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/railties-5.1.4/lib/rails/engine.rb:476:in
eager_load 中的块(2 级)!/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/railties-5.1.4/lib/rails/engine.rb:475:ineach'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/railties-5.1.4/lib/rails/engine.rb:475:in
块在 eager_load 中!/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/railties-5.1.4/lib/rails/engine.rb:473:in each'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/railties-5.1.4/lib/rails/engine.rb:473:in
eager_load!/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/railties-5.1.4/lib/rails/engine.rb:354:in eager_load!'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/resque-1.27.4/lib/resque/tasks.rb:45:in
each' /Users/dinilv/.rvm/gems/ruby-2.4 .2/gems/resque-1.27.4/lib/resque/tasks.rb:45:in block (2 levels) in <top (required)>'
/Users/dinilv/.rvm/gems/ruby-2.4.2/gems/rake-12.1.0/exe/rake:27:in
' /Users/dinilv/.rvm/gems/ruby-2.4.2/bin/ruby_executable_hooks:15:ineval'
/Users/dinilv/.rvm/gems/ruby-2.4.2/bin/ruby_executable_hooks:15:in
' 任务:TOP => resque:work => resque:preload(通过使用 --trace 运行任务查看完整跟踪)_ "*
ruby-on-rails-3 - resque调度程序不排队作业
存在计划以在计划中定义的特定时间执行,但不执行任务。
计划中有一个选项可以手动启动该特定计划任务,并将执行和执行任务。这表明任务可以执行,只是没有自动启动。