Ruby on rails 正在重试活动工单,不支持的参数类型:Time
但这是我的输出日志: 下午3:59:21 web.1 |由于标准错误,在3秒内重试SendTrackerToShipupJob。最初的例外是零。 下午3:59:21 web.1 |不支持的参数类型:时间Ruby on rails 正在重试活动工单,不支持的参数类型:Time,ruby-on-rails,ruby,Ruby On Rails,Ruby,但这是我的输出日志: 下午3:59:21 web.1 |由于标准错误,在3秒内重试SendTrackerToShipupJob。最初的例外是零。 下午3:59:21 web.1 |不支持的参数类型:时间 它不会再触发。有什么想法吗?可能是因为您正在将日期解析为作为job参数传递的JSON对象 在我的例子中: SendTrackerToShipupJob.set(wait: 5.minutes).perform_later(...) 创建的_at属性会导致问题。 要解决此问题,请将JSON转换为
它不会再触发。有什么想法吗?可能是因为您正在将日期解析为作为job参数传递的JSON对象 在我的例子中:
SendTrackerToShipupJob.set(wait: 5.minutes).perform_later(...)
创建的_at属性会导致问题。
要解决此问题,请将JSON转换为哈希:
SendTrackerToShipupJob.set(wait: 5.minutes).perform_later({
[...]
created_at: ...
})
你是如何执行这项工作的?你现在正在执行吗?。如果是这样的话,您传递的
跟踪器
对象可能包含一些无法序列化的时间属性,这可能会导致问题。不确定是否真的是这样,因为如果我没有错的话,active job会调用对象上的到_json
来序列化它:/噢,我完全忘记了方法调用,我编辑了我的问题@fantaOh my you is right,它来自tracker
cool中的一个日期,如果你能发布你的修复方案,让别人在遇到类似问题时能找到答案,那就太好了。
SendTrackerToShipupJob.set(wait: 5.minutes).perform_later({
[...]
created_at: ...
})
SendTrackerToShipupJob.set(wait: 5.minutes).perform_later({
[...]
:created_at => ...
})