所以我一直在关注DHH的教程,以实现一个基本的聊天室。在我尝试集成ActiveJob组件之前,该实现对我来说已经足够好了。我在rails或sidekiq控制台中没有看到任何错误消息。但是_message部分没有被渲染。当我在ActiveJob方法中放置一个binding.pry时,所有元素看起来都很好,所以我猜这与作业执行有关?为了进一步支持这种怀疑,当我调用ActionCable.server.broadcast('room_channel',message:data['message'])在room_channel.rb中它工作得很好!我在这上面花了几个小时,但无法弄清楚如何进一步
我正在运行Rails4.2.8,我想让我的工作只在特定条件下运行。目前我正在检查调用作业的代码,但将逻辑包含在作业类中会更清晰。有人这样做过吗?classMyJob我正在使用Sidekiq4.2.10作为后台作业适配器。 最佳答案 您可以使用around_enqueue在不引发异常的情况下获得相同的结果。当您的工作需要不排队时,这会很有用。例如:around_enqueuedo|_job,block|ifmy_conditionblock.call#thiswillenqueueyourjobendendOBS:值得注意的是,此答
我正在运行Rails4.2.8,我想让我的工作只在特定条件下运行。目前我正在检查调用作业的代码,但将逻辑包含在作业类中会更清晰。有人这样做过吗?classMyJob我正在使用Sidekiq4.2.10作为后台作业适配器。 最佳答案 您可以使用around_enqueue在不引发异常的情况下获得相同的结果。当您的工作需要不排队时,这会很有用。例如:around_enqueuedo|_job,block|ifmy_conditionblock.call#thiswillenqueueyourjobendendOBS:值得注意的是,此答
ActiveJob分配似乎没有出现在sidekiq队列中。但作业仍会执行。这是我在config/environments/production.rb中的active_job设置config.active_job.queue_adapter=:sidekiqconfig.active_job.queue_name_prefix="faces_#{Rails.env}"我的sidekiq.yml通过Capistrano加载。---:concurrency:5:queues:-defaultproduction::concurrency:20:queues:-faces_production
在Rails4.2中,ActionMailer支持使用名为ActiveJob的新后台作业抽象层。ActiveJob将作业放入后台队列,以便稍后在将作业推送到其中的代码流之外进行处理。问题是,由于ActionMailer现在支持使用#deliver_later方法自动排队电子邮件,这些电子邮件将发送到哪个队列。 最佳答案 答案是:根据theSidekiqwiki,“邮件”队列。 关于ruby-on-rails-ActionMailer在Rails4.2中使用哪个ActiveJob队列?,我
我使用resque-history插件来监控已完成的任务。首先,我将这个字符串require'resque-history/server'包含到路由文件中,然后我在仪表板中看到了新的历史记录选项卡。这是/app/jobs/welcome_email_job.rb中的一些代码require'resque-history'classWelcomeEmailJob作业完成后,我在统计选项卡中看到处理了多少作业,但历史选项卡是空的,只有表头。我能解决这个问题吗? 最佳答案 尝试重新启动您的工作人员(他们不会自动重新启动)。
我正在做一个天气API,它将从另一个API获取、处理和保存数据。为了获得每日更新(请求URL信息、获取JSON/XML数据、构建我的数据并将其保存到我的数据库)我认为最合适的方法是使用ActiveJob。我想安排作业定期运行。我想要UNIXcron或Java的Spring@Scheduled注释之类的东西。我在StackOverflow(thisone)上看到了另一个关于调度作业的问题,但它们像whenever一样使用外部gem。我一直在寻找允许在RailsAPI(Backends)中执行作业的后端,但似乎没有一个可用的后端允许调度作业。Rails框架(第5版)中是否有任何东西可以让我
我正在尝试在生产环境中发送邮件,但它抛出Activejob反序列化错误。sidekiq在后台运行。我添加了sidekiqgem。我在comment_notification.rb中写了一个方法来向用户发送电子邮件。然后在创建操作的Controller中我添加了这个defcreateCommentNotification.send_comment_mail(@current_user).deliver_later(wait:1.minute)enddefsend_comment_email(current_user)mail(to:current_user.email,:subject=
ActiveJobdocsforexceptionhandling提供此示例以说明如何在作业上下文中执行异常处理:classGuestsCleanupJob我在我正在构建和捕获某些特定异常的应用程序中使用这种技术。我的问题是,如何捕获所有异常?我正在捕获各种异常并以各种方式执行相同的过程,因此我想整理我的代码,而且在我当前的实现中,某些异常被忽略,这意味着在某些情况下我的工作会默默地失败。如何使用ActiveJob捕获任何一般异常? 最佳答案 试试这个classGuestsCleanupJob