def __init__(self, channel, score_package, amqp_target, amqp_key): """Score service init """ loggers.get_preset().channel_name = channel loggers.get_preset().score_package = score_package loggers.get_preset().update_logger() loggers.update_other_loggers() self.score: PeerScore = None self.score_plugin = Plugins().load_score_plugin(channel) self.iiss_plugin = Plugins().load_iiss_plugin(channel) self.__peer_id: str = None self.__channel_name: str = channel StubCollection().amqp_key = amqp_key StubCollection().amqp_target = amqp_target score_queue_name = conf.SCORE_QUEUE_NAME_FORMAT.format( score_package_name=score_package, channel_name=channel, amqp_key=amqp_key) self.__inner_service = ScoreInnerService(amqp_target, score_queue_name, conf.AMQP_USERNAME, conf.AMQP_PASSWORD, score_service=self) setproctitle.setproctitle(f"{setproctitle.getproctitle()} {channel}")
def main(argv): parser = argparse.ArgumentParser() for cmd_arg_type in command_arguments.Type: cmd_arg_attr = command_arguments.attributes[cmd_arg_type] parser.add_argument(*cmd_arg_attr.names, **cmd_arg_attr.kwargs) args, unknowns = parse_args_include_unknowns(parser, argv) quick_command = get_quick_command(unknowns) if args.version: print(json.dumps(conf.ICON_VERSIONS, indent=2)) parser.exit() command_arguments.set_raw_commands(args) if args.radio_station_target == 'testnet': args.radio_station_target = conf.URL_CITIZEN_TESTNET args.configure_file_path = conf.CONF_PATH_LOOPCHAIN_TESTNET elif args.radio_station_target == 'mainnet': args.radio_station_target = conf.URL_CITIZEN_MAINNET args.configure_file_path = conf.CONF_PATH_LOOPCHAIN_MAINNET if args.configure_file_path: conf.Configure().load_configure_json(args.configure_file_path) if args.key_convert: key_convert() parser.exit() if args.develop: loggers.set_preset_type(loggers.PresetType.develop) else: loggers.set_preset_type(loggers.PresetType.production) logger_preset = loggers.get_preset() logger_preset.service_type = args.service_type loggers.update_preset(False) loggers.update_other_loggers() grpc_patcher.monkey_patch() async_.thread_monkey_patch() async_.concurrent_future_monkey_patch() if args.service_type in ("peer", "citizen"): start_as_peer(args) elif args.service_type == "rest": start_as_rest_server(args) elif args.service_type == "score": start_as_score(args) elif args.service_type == "channel": start_as_channel(args) elif args.service_type == "tool": start_as_tool(args, quick_command) elif args.service_type == "admin": start_as_admin(args, quick_command) else: print( f"not supported service type {args.service_type}\ncheck loopchain help.\n" ) parser.print_help()
def main(argv): parser = argparse.ArgumentParser() for cmd_arg_type in command_arguments.Type: cmd_arg_attr = command_arguments.attributes[cmd_arg_type] parser.add_argument(*cmd_arg_attr.names, **cmd_arg_attr.kwargs) args = parser.parse_args(argv) command_arguments.set_raw_commands(args) if args.radio_station_target == 'testnet': args.radio_station_target = conf.URL_CITIZEN_TESTNET args.configure_file_path = conf.CONF_PATH_LOOPCHAIN_TESTNET elif args.radio_station_target == 'mainnet': args.radio_station_target = conf.URL_CITIZEN_MAINNET args.configure_file_path = conf.CONF_PATH_LOOPCHAIN_MAINNET if args.configure_file_path: conf.Configure().load_configure_json(args.configure_file_path) if args.develop: loggers.set_preset_type(loggers.PresetType.develop) else: loggers.set_preset_type(loggers.PresetType.production) logger_preset = loggers.get_preset() logger_preset.service_type = args.service_type loggers.update_preset(False) loggers.update_other_loggers() grpc_patcher.monkey_patch() async .thread_monkey_patch() async .concurrent_future_monkey_patch() if args.service_type == "peer": start_as_peer(args, conf.NodeType.CommunityNode) elif args.service_type == "citizen": start_as_peer(args, conf.NodeType.CitizenNode) elif args.service_type == "rs" or args.service_type == "radiostation": start_as_rs(args) elif args.service_type == "rest": start_as_rest_server(args) elif args.service_type == "rest-rs": start_as_rest_server_rs(args) elif args.service_type == "score": start_as_score(args) elif args.service_type == "channel": start_as_channel(args) elif args.service_type == "tool": start_as_tool(args) elif args.service_type == "admin": start_as_admin(args) else: print( f"not supported service type {args.service_type}\ncheck loopchain help.\n" ) os.system("python3 ./loopchain.py -h")
def load_properties(properties: ModuleProcessProperties, module_name): conf.set_origin_type_configurations(properties.configurations) loggers.set_preset_type(properties.logger_preset_type) loggers.update_other_loggers() loggers.set_presets(properties.logger_presets) preset = loggers.get_preset() if preset.service_type: preset.service_type += f"-{module_name}" else: preset.service_type = module_name preset.update_logger()
async def ready_tasks(): from loopchain import loggers loggers.get_preset().update_logger() loggers.update_other_loggers() logging.debug('rest_server:initialize complete.')
import multiprocessing import unittest from aio_pika.exceptions import ChannelClosed from earlgrey import MessageQueueStub, MessageQueueService, MessageQueueType, message_queue_task from loopchain import configure as conf from loopchain.channel.channel_inner_service import ChannelInnerService, ChannelInnerStub from loopchain.peer import PeerInnerService, PeerInnerStub from loopchain.utils import loggers from loopchain.utils.message_queue import StubCollection from tests.unit import test_util loggers.set_preset_type(loggers.PresetType.develop) loggers.update_preset() loggers.update_other_loggers() class TestMessageQueue(unittest.TestCase): def setUp(self): test_util.print_testname(self._testMethodName) def test_basic(self): class Task: @message_queue_task async def sum(self, x, y): return x + y @message_queue_task def multiply(self, x, y): return x * y