重い持ち上げ方法をバックグラウンドジョブに入れたいと思います。 Rails 5 ActiveJobまたはRedisの使用。どちらを使うべきかわからないActiveJob :: SerializationError
基本的には、宝石を使用し、そのAPI呼び出しのものを自分のローカルデータベースに埋め込むAPIがあります。
コントローラー:
...
before_action :get_api
def do_later
GetApiJob.perform_later(foo)
# Call foo later
end
def foo
@apis.map do |api|
puts api.title
end
end
private
def get_api
@apis = ShopifyAPI::Product.find(:all)
end
...
GetApiJob:
...
queue_as :default
def perform(a)
a
# Expect to see a list, if any, of api's name
end
...
私はそれがバックグラウンドジョブにfoo
を置くdo_later
を呼び出します。そのサンプルコードをやって、私が取得:
ActiveJob :: SerializationErrorこのため
私はSidekiqを使用する必要がありますか。
、あなたの実際のコードを投稿することができますか? –
@MichałMłoźniakこんにちは、ありがとうございます。コードはshopify APIで更新されました。それだけで、同じエラーが表示されるはずです。 – Sylar