diff options
Diffstat (limited to 'src/bitz/manager.cpp')
-rw-r--r-- | src/bitz/manager.cpp | 41 |
1 files changed, 15 insertions, 26 deletions
diff --git a/src/bitz/manager.cpp b/src/bitz/manager.cpp index 14033a5..38b431f 100644 --- a/src/bitz/manager.cpp +++ b/src/bitz/manager.cpp @@ -18,7 +18,6 @@ */ #include "manager.h" -#include "logger.h" #include "util.h" #include <cstdlib> @@ -55,20 +54,19 @@ namespace bitz { throw ManagerException( std::string( "failed to initialise socket, " ).append( e.what() ) ); } - Logger &logger = Logger::instance(); - logger.debug( "manager initialised" ); + // logger + _logger = spdlog::get( "bitz-server" ); + _logger->debug( "manager initialised" ); } Manager::~Manager() { - Logger &logger = Logger::instance(); - if ( _manager.worker ) { - logger.debug( "[worker] cleaning up manager" ); + _logger->debug( "[worker] cleaning up manager" ); } else { - logger.debug( "[manager] shutting down manager" ); + _logger->debug( "[manager] shutting down manager" ); } delete [] _manager.worker_pool; @@ -102,7 +100,6 @@ namespace bitz { void Manager::spawn_worker( unsigned int worker_id ) throw( ManagerException ) { - Logger &logger = Logger::instance(); pid_t worker_pid; // create a worker child @@ -122,7 +119,7 @@ namespace bitz { _manager.worker_pool[worker_id].worker_pid = worker_pid; _manager.worker_pool[worker_id].worker->run( _manager.socket, _manager.max_worker_requests, _manager.comm_timeout ); - logger.info( std::string( "end of cycle, worker[" ).append( util::itoa( worker_id ) ).append( "]" ) ); + _logger->info( std::string( "end of cycle, worker[" ).append( util::itoa( worker_id ) ).append( "]" ) ); delete _manager.worker_pool[worker_id].worker; _exit( EXIT_SUCCESS ); @@ -130,7 +127,7 @@ namespace bitz { } else { /* manager */ - logger.info( std::string( "[manager] worker spawned with pid: " ).append( util::itoa( worker_pid) ) ); + _logger->info( std::string( "[manager] worker spawned with pid: " ).append( util::itoa( worker_pid) ) ); _manager.workers_count++; @@ -146,12 +143,9 @@ namespace bitz { void Manager::shutdown( bool graceful ) throw() { - // logger - Logger &logger = Logger::instance(); - if ( _manager.worker ) { - logger.info( "[worker] manager shutdown request received" ); + _logger->info( "[worker] manager shutdown request received" ); /* worker: cleanup */ delete _manager.worker_pool[_manager.worker_id].worker; @@ -159,21 +153,21 @@ namespace bitz { } else { /* manager: stop all child processes */ - logger.info( "[manager] shutdown request received" ); + _logger->info( "[manager] shutdown request received" ); for (unsigned int i = 0; i < _manager.max_workers; i++ ) { if ( _manager.worker_pool[i].worker_pid != 0 ) { if ( graceful ) { kill( _manager.worker_pool[i].worker_pid, SIGTERM ); - logger.debug( std::string( "[manager] sending SIGTERM to worker[" ).append( util::itoa( i ) ) + _logger->debug( std::string( "[manager] sending SIGTERM to worker[" ).append( util::itoa( i ) ) .append( "], pid: " ).append( util::itoa( _manager.worker_pool[i].worker_pid ) ) ); } else { kill( _manager.worker_pool[i].worker_pid, SIGKILL ); - logger.debug( std::string( "[manager] sending SIGKILL to worker[" ).append( util::itoa( i ) ) + _logger->debug( std::string( "[manager] sending SIGKILL to worker[" ).append( util::itoa( i ) ) .append( "], pid: " ).append( util::itoa( _manager.worker_pool[i].worker_pid ) ) ); } } else { - logger.debug( std::string( "[manager] worker[" ).append( util::itoa( i ) ).append( "] already closed" ) ); + _logger->debug( std::string( "[manager] worker[" ).append( util::itoa( i ) ).append( "] already closed" ) ); } } } @@ -183,9 +177,7 @@ namespace bitz { void Manager::reap_worker( pid_t worker_pid ) throw() { - // logger - Logger &logger = Logger::instance(); - logger.debug( std::string( "reaping worker, pid: " ).append( util::itoa( worker_pid ) ) ); + _logger->debug( std::string( "reaping worker, pid: " ).append( util::itoa( worker_pid ) ) ); if (! _manager.worker ) { for (unsigned int i = 0; i < _manager.max_workers; i++ ) { @@ -205,10 +197,7 @@ namespace bitz { } - void Manager::manager_workers() throw() { - - // logger - Logger &logger = Logger::instance(); + void Manager::manage_workers() throw() { if (! _manager.worker ) { @@ -222,7 +211,7 @@ namespace bitz { // spawn a worker for the missing spawn_worker( i ); } catch ( ManagerException &mex ) { - logger.warn( std::string( "[manager] failed to spawn worker[" ).append( util::itoa( i ) ).append( "], exception: ").append( mex.what() ) ); + _logger->warn( std::string( "[manager] failed to spawn worker[" ).append( util::itoa( i ) ).append( "], exception: ").append( mex.what() ) ); } } } |