searcher.php 1.9 KB

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