ydf0509 / funboost

pip install funboost,python全功能分布式函数调度框架,funboost的功能是全面性重量级,用户能想得到的功能99%全都有;funboost的使用方式是轻量级,只有@boost一行代码需要写。支持python所有类型的并发模式和一切知名消息队列中间件,支持如 celery dramatiq等框架整体作为funboost中间件,python函数加速器,框架包罗万象,用户能想到的控制功能全都有。一统编程思维,兼容50% python业务场景,适用范围广。只需要一行代码即可分布式执行python一切函数,99%用过funboost的pythoner 感受是 简易 方便 强劲 强大,相见恨晚 。
Apache License 2.0
682 stars 135 forks source link

在mac 嘛 #80

Closed boothua-cloud closed 1 year ago

boothua-cloud commented 1 year ago

错误信息: (192.168.100.224,MacBook-Pro.local)-[p24702_t6128758784] 2023-09-06 17:14:55 - RabbitmqConsumerAmqpStorm--test - "base_consumer.py:501" - ___keep_circulating - ERROR - _shedual_task 运行出错 Traceback (most recent call last): File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/asyncio/selector_events.py", line 256, in _add_reader key = self._selector.get_key(fd) File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/selectors.py", line 193, in get_key raise KeyError("{!r} is not registered".format(fileobj)) from None KeyError: '20 is not registered'

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/site-packages/funboost/consumers/base_consumer.py", line 493, in _keep_circulating result = func(*args, *kwargs) File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/site-packages/funboost/consumers/rabbitmq_amqpstorm_consumer.py", line 34, in _shedual_task rp.channel.start_consuming(auto_decode=True) File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/site-packages/amqpstorm/channel.py", line 358, in start_consuming self.process_data_events( File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/site-packages/amqpstorm/channel.py", line 329, in process_data_events self._consumer_callbacksconsumer_tag File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/site-packages/funboost/consumers/rabbitmq_amqpstorm_consumer.py", line 27, in callback self._submit_task(kw) File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/site-packages/funboost/consumers/base_consumer.py", line 637, in _submit_task self.concurrent_pool.submit(self._run, kw) File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/site-packages/funboost/utils/decorators.py", line 146, in lock_func return func(args, **kwargs) File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/site-packages/funboost/consumers/base_consumer.py", line 469, in concurrent_pool return self._concurrent_mode_dispatcher.build_pool() File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/site-packages/funboost/consumers/base_consumer.py", line 1156, in build_pool self.consumer._concurrent_pool = self.consumer._specify_concurrent_pool if self.consumer._specify_concurrent_pool is not None else pool_type( File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/site-packages/funboost/concurrent_pool/flexible_thread_pool.py", line 35, in init__ self.asyncio_loop = asyncio.new_event_loop() TypeError: changelist must be an iterable of select.kevent objects

Traceback (most recent call last): File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/asyncio/selector_events.py", line 256, in _add_reader key = self._selector.get_key(fd) File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/selectors.py", line 193, in get_key raise KeyError("{!r} is not registered".format(fileobj)) from None KeyError: '20 is not registered'

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/site-packages/funboost/consumers/base_consumer.py", line 493, in _keep_circulating result = func(*args, *kwargs) File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/site-packages/funboost/consumers/rabbitmq_amqpstorm_consumer.py", line 34, in _shedual_task rp.channel.start_consuming(auto_decode=True) File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/site-packages/amqpstorm/channel.py", line 358, in start_consuming self.process_data_events( File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/site-packages/amqpstorm/channel.py", line 329, in process_data_events self._consumer_callbacksconsumer_tag File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/site-packages/funboost/consumers/rabbitmq_amqpstorm_consumer.py", line 27, in callback self._submit_task(kw) File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/site-packages/funboost/consumers/base_consumer.py", line 637, in _submit_task self.concurrent_pool.submit(self._run, kw) File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/site-packages/funboost/utils/decorators.py", line 146, in lock_func return func(args, **kwargs) File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/site-packages/funboost/consumers/base_consumer.py", line 469, in concurrent_pool return self._concurrent_mode_dispatcher.build_pool() File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/site-packages/funboost/consumers/base_consumer.py", line 1156, in build_pool self.consumer._concurrent_pool = self.consumer._specify_concurrent_pool if self.consumer._specify_concurrent_pool is not None else pool_type( File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/site-packages/funboost/concurrent_pool/flexible_thread_pool.py", line 35, in init self.asyncio_loop = asyncio.new_event_loop() File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/asyncio/events.py", line 761, in new_event_loop return get_event_loop_policy().new_event_loop() File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/asyncio/events.py", line 659, in new_event_loop return self._loop_factory() File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/asyncio/unix_events.py", line 54, in init super().init(selector) File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/asyncio/selector_events.py", line 56, in init self._make_self_pipe() File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/asyncio/selector_events.py", line 107, in _make_self_pipe self._add_reader(self._ssock.fileno(), self._read_from_self) File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/asyncio/selector_events.py", line 258, in _add_reader self._selector.register(fd, selectors.EVENT_READ, File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/selectors.py", line 523, in register self._selector.control([kev], 0, 0) TypeError: changelist must be an iterable of select.kevent objects Exception ignored in: <function BaseEventLoop.del at 0x107687f70> Traceback (most recent call last): File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/asyncio/base_events.py", line 688, in del__ self.close() File "/opt/anaconda3/envs/MpcAgentBackend/lib/python3.9/asyncio/unix_events.py", line 60, in close for sig in list(self._signal_handlers): AttributeError: '_UnixSelectorEventLoop' object has no attribute '_signal_handlers' 代码:

def add(x, y):
    print(x + y)
    return x + y
if __name__ == '__main__':
    booster = get_or_create_booster(f'test', broker_kind=BrokerEnum.RABBITMQ_AMQPSTORM,
                                    consuming_function=add)
    booster.push(x=1, y=2)
    booster.start()

详细描述: