0

我正在尝试使用 SuckerPunch 运行异步作业,它将一些数据发布到 REST API,并将响应写入数据库。在 Rails CLI 和它正在工作的开发环境中。在生产环境中,当 API 响应错误时,它会崩溃;当 API 以 200 或 201 响应时,它也可以正常工作。由于我在所有测试中使用相同的代码和数据,我不明白,什么差异可能导致这个问题。此外,日志没有提供足够的详细信息,我不知道如何进一步调试它。能得到你的两分钱就太好了。我将如何继续调试呢?

QipJob.perform_async(params, data)  
ERROR -- : Sucker Punch job error for class: 'QipJob' args: [[[1075, ["xxx", "xxx", "10.174.212.145", "Router", "Static", "routed interface", "Always"]]], {:organization=>"xxx", :object_type=>"v4Object", :action=>"add", :overwrite=>nil}]
4

1 回答 1

0

也许您可以通过在代码中添加一个开始救援块来为您的代码添加一些额外的日志记录,例如:

 def perform(data)
   begin
     # your code
   rescue => e
     Rails.logger.error(e.message)
     Rails.logger.error(e.backtrace)
     raise e
   end
 end

然后您可以查看生产日志,也许(也许)回溯会导致您遇到问题

于 2020-05-11T13:06:19.083 回答