2

我得到了某种奇怪的行为。我sidekiq用于后台处理。每当我perform_async继续SidekiqJob将数据发布到另一个 Rails 应用程序时,我都会得到MultiJson::LoadError,但是当我创建它的一个实例并调用它时,它就像一个魅力。不知道具体的罪魁祸首是什么。

SidekiqJob.perform_async(:id => blog.id) (有MultiJSON::LOAD错误)

SidekiqJob.new.perform(:id => blog.id)(一切正常)

SidekiqJob执行方法如下所示:

def perform(params)
  body = {'status' => 'COMPLETED', 'results' => Result.find(params['id']).build_results}

  HTTParty.post(some_callback_url, :body => body.to_json, :headers => {'Content-Type' => 'application/json'})
end

需要一些方向来解决这个问题。

在请求标头中添加 charset utf-8 可解决问题

4

0 回答 0