ruby-on-rails - 当我有大量工作时,延迟的工作会使用错误的数据执行
问题描述
我读了很多书,发现延迟作业实际上并没有使用序列化数据,而是使用反序列化的 id 检索信息。
这不是我选择该宝石时所期望的行为,但我可以处理它。真正的问题是,我使用 DJ 根据一些数据使用 after_save 回调触发一些警报,有时这些数据在未来会触发太多警报。所以基本上,如果我出于不同的原因保存了三次医疗结果,第三次最终确定它,我会发出三个警报,因为 DJ 对最终结果工作了三次。
是否存在一种方法可以将同一队列中的作业排入队列,只使用一次相同的方法?我看到处理程序没有公开并且handle_asyncronously
不接受用于识别进程的参数。
最好的解决方案是直接处理序列化数据,但也可以执行一次。
先感谢您!
解决方案
推荐阅读
- python - 椭圆和圆之间的碰撞检测
- angular - Angular2/4 Post 请求上的 Gzip 压缩
- javascript - 如何将过滤器组件应用于我的产品
- java - 顺序读写(两个线程)
- postgresql - 在查询多个 lquery 时,我应该查询一个 lquery 数组还是使用 '|' 加入它们?
- reactjs - useMemo 在每次渲染时调用函数
- mysql - 无法在 phpMyAdmin 中将 MySQL 表从一个数据库复制到另一个数据库
- javascript - 是否可以拦截不是由客户端使用 javascript 发起的 http 请求?
- c++ - 有没有办法让我的程序可以制作任何给定大小的子集?
- flutter - 我怎样才能让这个 Map 双函数忽略/跳过空值?