我有一个查询语句,要轮询查询很久,1.2w 数据,大概 5 分钟吧(因为表结构比较复杂,涉及到的表比较多,而且查询出来的数据要进行处理,因此无法直接连接查询),奇葩的点在哪里呢? 我在接口中直接 Thread.new 创建了一个线程,在异步线程中执行的查询方法,数据是固定的,有时候查询成功,有时候就查询失败,而且失败的原因还是因为不同的数据...很奇怪,因为数据是固定的,按理应该要么全部都是成功的,要么全部都是失败的,为什么接口,有时成功,有时失败?我将这个查询方法,放到 sidekiq 队列中执行,就不会有这么奇葩的问题
ps:另外分享一个自己今天踩的坑,我将 Hash 类型的变量传入到 sidekiq 异步方法时,原本 key 是 Symbol 类型的,结果会自己给我转换成 String 类型