我正在尝试在Ruby on Rails应用程序中实现一个Job,但我一直收到这个错误:
NotImplementedError
服务器出错:
NotImplementedError (NotImplementedError):
app/controllers/cron_controller.rb:6:in `message_10_minutes'
这是ActiveJob:
class TestSmsJob < ActiveJob::Base
queue_as :default
#include Plivio
def perform(*args)
# do my stuff
end
end
这是对执行作业的函数的调用:
class CronController < ApplicationController
def index
end
def message_10_minutes
TestSmsJob.set(wait: 10.minutes).perform_later()
render :layout => false
end
end
你们知道我错过了什么吗?
答案 0 :(得分:0)
默认情况下,Rails会自带异步排队实现,但您仍需要指定要使用的适配器。如果你想使用内置适配器,你根本不需要捆绑任何其他gem。
以下是适配器列表 - http://api.rubyonrails.org/classes/ActiveJob/QueueAdapters.html
由于sidekiq
一开始可能太难,您可以使用sucker_punch
- https://github.com/brandonhilkert/sucker_punch
选择适配器后,您必须更新配置
module YourApp
class Application < Rails::Application
# Be sure to have the adapter's gem in your Gemfile
# and follow the adapter's specific installation
# and deployment instructions.
config.active_job.queue_adapter = :adapter_name
end
end