centra_srv.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. define('BASE_ROOT_PATH',str_replace('\\','/',dirname(__FILE__)));
  3. require_once (BASE_ROOT_PATH . '/fooder.php');
  4. require_once (BASE_ROOT_PATH . '/helper/event_looper.php');
  5. require_once (BASE_ROOT_PATH . '/helper/search/processor.php');
  6. require_once (BASE_ROOT_PATH . '/helper/search/util.php');
  7. require_once (BASE_ROOT_PATH . '/helper/category_helper.php');
  8. require_once (BASE_ROOT_PATH . '/helper/brand_helper.php');
  9. require_once (BASE_ROOT_PATH . '/helper/goods/commonid_helper.php');
  10. require_once (BASE_ROOT_PATH . '/helper/search/searcher.php');
  11. require_once (BASE_ROOT_PATH . '/helper/special_helper.php');
  12. require_once (BASE_ROOT_PATH . '/helper/search/area_library.php');
  13. require_once (BASE_ROOT_PATH . '/helper/brand_helper.php');
  14. require_once (BASE_ROOT_PATH . '/helper/algorithm.php');
  15. require_once (BASE_ROOT_PATH . '/helper/message/msgutil.php');
  16. require_once (BASE_ROOT_PATH . '/helper/message/subscriber.php');
  17. function all_channels()
  18. {
  19. return ['searcher'];
  20. }
  21. $gMessageStates = null;
  22. $gMessageLock = null;
  23. function searchwork($sockfd)
  24. {
  25. global $gMessageStates;
  26. global $gMessageLock;
  27. $gMessageStates = new MsgStates();
  28. $gMessageLock = Mutex::create();
  29. Base::run_util();
  30. StatesHelper::init();
  31. $listener = new message\subscriber($gMessageStates,$gMessageLock);
  32. $listener->start();
  33. if(StatesHelper::fetch_state('init')) {
  34. Log::record("StatesHelper::fetch_state first.",Log::DEBUG);
  35. search\searcher::instance()->init();
  36. search\area_library::instance();
  37. }
  38. process_looper::instance()->init(new search\processor());
  39. process_looper::instance()->add_listen($sockfd);
  40. process_looper::instance()->run_loop();
  41. }
  42. global $config;
  43. $host = $config['searcher']['host'];
  44. $port = $config['searcher']['port'];
  45. event\util::fork_listen($host,$port,'searchwork',1);