def __new__(cls): if not hasattr(cls, "_instanse"): instanse = object.__new__(cls) try: _logger = Service("logging") for verbosity in _logger.perform_sync("verbosity"): #only one chunk and read choke also. pass setattr(instanse, "_logger", _logger) try: setattr(instanse, "target", "app/%s" % sys.argv[sys.argv.index("--app") + 1]) except ValueError: setattr(instanse, "target", "app/%s" % "standalone" ) _construct_logger_methods(instanse, verbosity) except Exception as err: instanse = _STDERR_Logger() instanse.warn("Logger init error: %s. Use stderr logger" % err) cls._instanse = instanse return cls._instanse
# coding=utf-8 from tornado.ioloop import IOLoop from cocaine.services import Service __author__ = 'EvgenySafronov <*****@*****.**>' if __name__ == '__main__2': def on(chunk): print('Response received - {0}'.format(chunk)) loop.stop() def error(exception): print('Error received - {0}'.format(exception)) loop.stop() service = Service('Echo') future = service.invoke('doIt', 'SomeMessage') future.bind(on, error) loop = IOLoop.instance() loop.start() if __name__ == '__main__': service = Service('Echo') for chunk in service.perform_sync('invoke', 'doIt', 'SomeMessage'): print('Response received - {0}'.format(chunk))