![]() |
RTBKit
0.9
Open-source framework to create real-time ad bidding systems.
|
00001 /* agent_configuration_service_runner.cc 00002 Jeremy Barnes, 18 December 2012 00003 Copyright (c) 2012 Datacratic Inc. All rights reserved. 00004 00005 Class to run the configuration service. 00006 */ 00007 00008 #include <boost/program_options/cmdline.hpp> 00009 #include <boost/program_options/options_description.hpp> 00010 #include <boost/program_options/positional_options.hpp> 00011 #include <boost/program_options/parsers.hpp> 00012 #include <boost/program_options/variables_map.hpp> 00013 #include <boost/algorithm/string.hpp> 00014 #include <boost/thread/thread.hpp> 00015 00016 #include "rtbkit/core/agent_configuration/agent_configuration_service.h" 00017 #include "soa/service/service_utils.h" 00018 #include "jml/utils/pair_utils.h" 00019 #include "jml/arch/timers.h" 00020 #include "jml/arch/futex.h" 00021 00022 00023 using namespace std; 00024 using namespace ML; 00025 using namespace Datacratic; 00026 using namespace RTBKIT; 00027 00028 00029 int main(int argc, char ** argv) 00030 { 00031 using namespace boost::program_options; 00032 00033 Datacratic::ServiceProxyArguments args; 00034 00035 options_description options = args.makeProgramOptions(); 00036 options.add_options() ("help,h", "Print this message"); 00037 00038 variables_map vm; 00039 store(command_line_parser(argc, argv).options(options) .run(), vm); 00040 notify(vm); 00041 00042 if (vm.count("help")) { 00043 cerr << options << endl; 00044 exit(1); 00045 } 00046 00047 auto proxies = args.makeServiceProxies(); 00048 00049 AgentConfigurationService config(proxies); 00050 config.init(); 00051 config.bindTcp(); 00052 config.start(); 00053 00054 proxies->config->dump(cerr); 00055 00056 for (;;) { 00057 ML::sleep(10.0); 00058 } 00059 } 00060 00061