| | |
| | | return None |
| | | |
| | | # 为代码分配队列 |
| | | def distribute_callback(self, code): |
| | | def distribute_callback(self, code, target_codes=None): |
| | | if code in self.distibuted_code_callback_dict: |
| | | return self.distibuted_code_callback_dict.get(code) |
| | | callback_info = self.get_available_callback() |
| | |
| | | distibuted_callbacks_ids = set() |
| | | for code in self.distibuted_code_callback_dict: |
| | | distibuted_callbacks_ids.add(self.distibuted_code_callback_dict[code][0]) |
| | | # 如果代码没在目标代码中就移除 |
| | | if target_codes and code not in target_codes: |
| | | self.release_distribute_callback(code) |
| | | logger_local_huaxin_l2_error.info(f"已经分配的代码:{self.distibuted_code_callback_dict.keys()}") |
| | | logger_local_huaxin_l2_error.info(f"已经分配的callbackid:{distibuted_callbacks_ids}") |
| | | # 删除已经没在目标代码中的分配 |
| | | raise Exception("无可用的回调对象") |
| | | self.distibuted_code_callback_dict[code] = callback_info |
| | | return callback_info |