-
Notifications
You must be signed in to change notification settings - Fork 127
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BUG: AttributeError("'_thread._local' object has no attribute 'function_result_status'" #109
Comments
这个是我意料之中的, 超时杀死和支持远程杀死 这两个功能都是吧函数包装在另外一个单独的线程里面去运行的,和funboost设置到上下文时候不是在同一个线程里面,所以获取不到的, 要兼容这两个功能代码还需要改造的,要去注超时装饰器和支持远程杀死装饰器里面去改代码了,需要把一个线程的上下文赋值到这个新的独立包装线程里面去,需要等待一段时间我再实现. 超时杀死和远程杀死这两个功能,已经提示了不要轻易使用的, 因为要支持杀死,就要把它放到一个单独的线程里面运行,杀死函数其实就是使用c语言的ctypes 杀死这个函数运行所在的线程,如果杀死函数时候,用户函数获取了线程锁,但是还没释放,程序会永远死锁, 而且设置超时杀死,代码性能明显又会下降一截,因为每次运行消息都要新创建一个线程,非必要别使用. |
这个问题和上个回答你添加taskid一样, 所谓的上下文 必须是同一个线程/协程下才行, |
funboost_current_task 是刚加的,现在不兼容设置函数超时杀死和远程杀死 |
明白了,但是感觉可以在文档说明一下。因为直观的感受就是莫名的时好时坏(有的队列没加超时杀死,有的加了,或者开始没加好使,后来加了又报错了) |
倒也不是非得用,就是做个兜底,防止某些个别消息处理太慢,一直挂着 |
更新新版试了下,已经可以了 。 |
requirements.txt
4.31 funboost_current_task 上下文获取当前消息和任务状态
加上
function_timeout
会报错AttributeError: '_thread._local' object has no attribute 'function_result_status'
去掉就正常The text was updated successfully, but these errors were encountered: