在sidekiq的日志文件中,我可以看到工作程序的ID,如下所示:
2013-08-28T10:19:03Z 8911 TID-osy5fnl1o MyWorker JID-262996c2737e7a5ec5c71674 INFO: start
2013-08-28T10:19:03Z 8911 TID-ptes4 MyWorker JID-6830e08b5da72b360d4d1ae2 INFO: start
2013-08-28T10:19:03Z 8911 TID-povog MyWorker JID-2d31755b001ecd02fe1abc09 INFO: done: 22.52 sec
2013-08-28T10:19:04Z 8911 TID-povog MyWorker JID-df52f500a3ba27e18b2ba313 INFO: start
在工作人员的@ perform @方法的正文中,我想获取该ID。如果不可能的话,考虑到同一类中有多个并发的工作人员,那么为该工作人员获取唯一ID的最佳策略是什么?
在处理日志文件时,我需要此帮助。
您可以使用jid访问器方法访问作业ID,并使用Thread.current方法访问线程ID。像这样:
logger.info "JID #{jid} - TID #{Thread.current.object_id.to_s(36)}"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句