报错如下:
我进 pickle 库的源码看了,是用的 c 写的,所以代码被省略不可见了。 我网上搜了下,都没遇到我这个情况的(也可能我没找到),我试着把协程换成线程来 dump 也不行,线程报错是不能 dump 一个锁机制。
场景需求是这样的:
有个协程池,里面有多个协程对象在执行各自的任务(正在或者已完成),同时也有个 md5 映射表,表结构是{md5 值 1:gevent 协程对象 1,md5 值 2:gevent 协程对象 2,......}。
要能在这一堆协程对象里通过映射表找出正在执行的指定的某个协程对象,状态已完成的则不考虑,然后可以在它运行中途时能 kill 掉。
我本来打算用 pickle 库把这个 md5 表 dump 到数据库里,然后等需要结束某个协程对象时,再从数据库里 load 出来然后直接调用 kill 方法即可,结果就报上面的错。
希望各位大佬能指点小弟一二,我个人感觉关键点就在怎么从一堆携程对象识别出哪个是目标,md5 映射表是我自己加的,不是固定需求,如果有更好的方案那肯定更好,我洗耳恭听,小弟在此感谢各位大佬了。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.