def start(self): logger.info('Initializing BigchainDB...') delete_reverter = BlockDeleteRevert(self.q_revert_delete) # start the web api app_server = server.create_server(bigchaindb.config['server']) p_webapi = mp.Process(name='webapi', target=app_server.run) p_webapi.start() # initialize the processes p_map_bigchain = mp.Process(name='bigchain_mapper', target=self.map_bigchain) p_block_delete_revert = mp.Process(name='block_delete_revert', target=delete_reverter.start) p_voter = Voter(self.q_new_block) p_election = Election(self.q_block_new_vote) # start the processes logger.info('starting bigchain mapper') p_map_bigchain.start() logger.info('starting backlog mapper') logger.info('starting block') block.start() p_block_delete_revert.start() logger.info('starting voter') p_voter.start() logger.info('starting election') p_election.start() # start message p_voter.initialized.wait() logger.info(BANNER.format(bigchaindb.config['server']['bind']))
def start(self): logger.info('Initializing BigchainDB...') # instantiate block and voter block = Block(self.q_new_transaction) # start the web api app_server = server.create_server(bigchaindb.config['server']) p_webapi = mp.Process(name='webapi', target=app_server.run) p_webapi.start() # initialize the processes p_map_bigchain = mp.Process(name='bigchain_mapper', target=self.map_bigchain) p_map_backlog = mp.Process(name='backlog_mapper', target=self.map_backlog) p_block = mp.Process(name='block', target=block.start) p_voter = Voter(self.q_new_block) p_election = Election(self.q_block_new_vote) # start the processes logger.info('starting bigchain mapper') p_map_bigchain.start() logger.info('starting backlog mapper') p_map_backlog.start() logger.info('starting block') p_block.start() logger.info('starting voter') p_voter.start() logger.info('starting election') p_election.start() # start message block.initialized.wait() p_voter.initialized.wait() logger.info(BANNER.format(bigchaindb.config['server']['bind']))
def start(): logger.info('Initializing BigchainDB...') # init localdb with localdb utils logger.info('start localdb pipeline...') leveldb.init() local_block.start() local_vote.start() # start the processes logger.info('Starting block') block.start() logger.info('Starting voter') vote.start() logger.info('Starting stale transaction monitor') stale.start() logger.info('Starting election') election.start() # start the web api app_server = server.create_server(bigchaindb.config['server']) p_webapi = mp.Process(name='webapi', target=app_server.run) p_webapi.start() # start message logger.info(BANNER.format(bigchaindb.config['server']['bind']))
def start(self): logger.info('Initializing BigchainDB...') # instantiate block and voter block = Block(self.q_new_transaction) # start the web api app_server = server.create_server(bigchaindb.config['server']) p_webapi = mp.Process(name='webapi', target=app_server.run) p_webapi.start() # initialize the processes p_map_bigchain = mp.Process(name='bigchain_mapper', target=self.map_bigchain) p_map_backlog = mp.Process(name='backlog_mapper', target=self.map_backlog) p_block = mp.Process(name='block', target=block.start) p_voter = Voter(self.q_new_block) # start the processes logger.info('starting bigchain mapper') p_map_bigchain.start() logger.info('starting backlog mapper') p_map_backlog.start() logger.info('starting block') p_block.start() logger.info('starting voter') p_voter.start() # start message block.initialized.wait() p_voter.initialized.wait() logger.info(BANNER.format(bigchaindb.config['server']['bind']))
def test_settings(): import bigchaindb from bigchaindb.web import server s = server.create_server(bigchaindb.config['server']) # for whatever reason the value is wrapped in a list # needs further investigation assert s.cfg.bind[0] == bigchaindb.config['server']['bind']
def start_api(): # start the web api app_server = server.create_server(bigchaindb.config['server']) p_webapi = mp.Process(name='webapi', target=app_server.run) p_webapi.start() # start message if bigchaindb.config['api_need_permission']: logger.info("API PERMISSION LEVEL T") else: logger.info("API PERMISSION LEVEL F") logger.info(BANNER.format(bigchaindb.config['server']['bind']))
def start(args): # Exchange object for event stream api logger.info('Starting BigchainDB') exchange = Exchange() # start the web api app_server = server.create_server(settings=bigchaindb.config['server'], log_config=bigchaindb.config['log'], bigchaindb_factory=BigchainDB) p_webapi = Process(name='bigchaindb_webapi', target=app_server.run, daemon=True) p_webapi.start() logger.info(BANNER.format(bigchaindb.config['server']['bind'])) # start websocket server p_websocket_server = Process(name='bigchaindb_ws', target=websocket_server.start, daemon=True, args=(exchange.get_subscriber_queue( EventTypes.BLOCK_VALID), )) p_websocket_server.start() p_exchange = Process(name='bigchaindb_exchange', target=exchange.run, daemon=True) p_exchange.start() # We need to import this after spawning the web server # because import ABCIServer will monkeypatch all sockets # for gevent. from abci.server import ABCIServer setproctitle.setproctitle('bigchaindb') # Start the ABCIServer abci = ABCI(TmVersion(bigchaindb.config['tendermint']['version'])) if args.experimental_parallel_validation: app = ABCIServer(app=ParallelValidationApp( abci=abci.types, events_queue=exchange.get_publisher_queue(), )) else: app = ABCIServer(app=App( abci=abci.types, events_queue=exchange.get_publisher_queue(), )) app.run()
def start(): # Exchange object for event stream api logger.info('Starting BigchainDB') exchange = Exchange() # start the web api app_server = server.create_server(settings=bigchaindb.config['server'], log_config=bigchaindb.config['log'], bigchaindb_factory=BigchainDB) p_webapi = Process(name='bigchaindb_webapi', target=app_server.run, daemon=True) p_webapi.start() # start message logger.info(BANNER.format(bigchaindb.config['server']['bind'])) # start websocket server p_websocket_server = Process(name='bigchaindb_ws', target=websocket_server.start, daemon=True, args=(exchange.get_subscriber_queue( EventTypes.BLOCK_VALID), )) p_websocket_server.start() # connect to tendermint event stream p_websocket_client = Process(name='bigchaindb_ws_to_tendermint', target=event_stream.start, daemon=True, args=(exchange.get_publisher_queue(), )) p_websocket_client.start() p_exchange = Process(name='bigchaindb_exchange', target=exchange.run, daemon=True) p_exchange.start() # We need to import this after spawning the web server # because import ABCIServer will monkeypatch all sockets # for gevent. from abci import ABCIServer setproctitle.setproctitle('bigchaindb') # Start the ABCIServer app = ABCIServer(app=App()) app.run()
def start(): # Exchange object for event stream api logger.info('Starting BigchainDB') exchange = Exchange() # start the web api app_server = server.create_server( settings=bigchaindb.config['server'], log_config=bigchaindb.config['log'], bigchaindb_factory=BigchainDB) p_webapi = Process(name='bigchaindb_webapi', target=app_server.run, daemon=True) p_webapi.start() # start message logger.info(BANNER.format(bigchaindb.config['server']['bind'])) # start websocket server p_websocket_server = Process(name='bigchaindb_ws', target=websocket_server.start, daemon=True, args=(exchange.get_subscriber_queue(EventTypes.BLOCK_VALID),)) p_websocket_server.start() # connect to tendermint event stream p_websocket_client = Process(name='bigchaindb_ws_to_tendermint', target=event_stream.start, daemon=True, args=(exchange.get_publisher_queue(),)) p_websocket_client.start() p_exchange = Process(name='bigchaindb_exchange', target=exchange.run, daemon=True) p_exchange.start() # We need to import this after spawning the web server # because import ABCIServer will monkeypatch all sockets # for gevent. from abci import ABCIServer setproctitle.setproctitle('bigchaindb') # Start the ABCIServer app = ABCIServer(app=App()) app.run()
def start(): logger.info('Initializing BigchainDB...') # Create a Exchange object. # The events queue needs to be initialized once and shared between # processes. This seems the best way to do it # At this point only the election processs and the event consumer require # this queue. exchange = Exchange() # start the processes logger.info('Starting block') block.start() logger.info('Starting voter') vote.start() logger.info('Starting stale transaction monitor') stale.start() logger.info('Starting election') election.start(events_queue=exchange.get_publisher_queue()) # start the web api app_server = server.create_server(settings=bigchaindb.config['server'], log_config=bigchaindb.config['log']) p_webapi = mp.Process(name='webapi', target=app_server.run) p_webapi.start() logger.info('WebSocket server started') p_websocket_server = mp.Process(name='ws', target=websocket_server.start, args=(exchange.get_subscriber_queue( EventTypes.BLOCK_VALID), )) p_websocket_server.start() # start message logger.info(BANNER.format(bigchaindb.config['server']['bind'])) start_events_plugins(exchange) exchange.run()
def start(): logger.info('Initializing BigchainDB...') # start the processes logger.info('Starting block') block.start() logger.info('Starting voter') vote.start() logger.info('Starting election') election.start() # start the web api app_server = server.create_server(bigchaindb.config['server']) p_webapi = mp.Process(name='webapi', target=app_server.run) p_webapi.start() # start message logger.info(BANNER.format(bigchaindb.config['server']['bind']))
def start(): logger.info('Initializing BigchainDB...') # Create a Exchange object. # The events queue needs to be initialized once and shared between # processes. This seems the best way to do it # At this point only the election processs and the event consumer require # this queue. exchange = Exchange() # start the processes logger.info('Starting block') block.start() logger.info('Starting voter') vote.start() logger.info('Starting stale transaction monitor') stale.start() logger.info('Starting election') election.start(events_queue=exchange.get_publisher_queue()) # start the web api app_server = server.create_server(settings=bigchaindb.config['server'], log_config=bigchaindb.config['log']) p_webapi = mp.Process(name='webapi', target=app_server.run) p_webapi.start() logger.info('WebSocket server started') p_websocket_server = mp.Process(name='ws', target=websocket_server.start, args=(exchange.get_subscriber_queue(EventTypes.BLOCK_VALID),)) p_websocket_server.start() # start message logger.info(BANNER.format(bigchaindb.config['server']['bind'])) start_events_plugins(exchange) exchange.run()
def start(): logger.info('Initializing BigchainDB...') # start the processes logger.info('Starting block') block.start() logger.info('Starting voter') vote.start() logger.info('Starting stale transaction monitor') stale.start() logger.info('Starting election') election.start() # start the web api app_server = server.create_server(bigchaindb.config['server']) p_webapi = mp.Process(name='webapi', target=app_server.run) p_webapi.start() # start message logger.info(BANNER.format(bigchaindb.config['server']['bind']))
def start(): logger.info('Initializing BigchainDB...') # Create the events queue # The events queue needs to be initialized once and shared between # processes. This seems the best way to do it # At this point only the election processs and the event consumer require # this queue. events_queue = setup_events_queue() # start the processes logger.info('Starting block') block.start() logger.info('Starting voter') vote.start() logger.info('Starting stale transaction monitor') stale.start() logger.info('Starting election') election.start(events_queue=events_queue) # start the web api app_server = server.create_server(bigchaindb.config['server']) p_webapi = mp.Process(name='webapi', target=app_server.run) p_webapi.start() logger.info('Events api started') p_websocket_server = mp.Process(name='ws', target=events_api.start, args=(events_queue, )) p_websocket_server.start() # start message logger.info(BANNER.format(bigchaindb.config['server']['bind']))
def start(): logger.info('Initializing BigchainDB...') # Create the events queue # The events queue needs to be initialized once and shared between # processes. This seems the best way to do it # At this point only the election processs and the event consumer require # this queue. events_queue = setup_events_queue() # start the processes logger.info('Starting block') block.start() logger.info('Starting voter') vote.start() logger.info('Starting stale transaction monitor') stale.start() logger.info('Starting election') election.start(events_queue=events_queue) # start the web api app_server = server.create_server(bigchaindb.config['server']) p_webapi = mp.Process(name='webapi', target=app_server.run) p_webapi.start() logger.info('WebSocket server started') p_websocket_server = mp.Process(name='ws', target=websocket_server.start, args=(events_queue,)) p_websocket_server.start() # start message logger.info(BANNER.format(bigchaindb.config['server']['bind']))