TempCommand.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. class TempCommand extends CConsoleCommand{
  3. public function run($args) {
  4. error_reporting(E_ALL);
  5. ini_set('memory_limit', '256M');
  6. set_time_limit(0);
  7. $end_time = time();
  8. $criteria = new EMongoCriteria();
  9. $start_time = $end_time - 86400*30;
  10. $criteria->register_time('>=',$start_time);
  11. $criteria->register_time('<',$end_time);
  12. $cursor = RUser::model()->findAll($criteria);
  13. $i=1;
  14. $docs_to_upload = array();
  15. foreach ($cursor as $user) {
  16. $i++;
  17. if($i%1000 == 0){
  18. $result = Service::factory('SearchService')->addUser($docs_to_upload);
  19. var_dump($result);
  20. sleep(3);
  21. $docs_to_upload = array();
  22. }
  23. $item = array();
  24. $item['cmd'] = 'ADD';
  25. //添加文档内容
  26. $item["fields"] = array(
  27. 'id'=>(string)$user->_id,
  28. "user_name" => $user->user_name,
  29. "status" => $user->status,
  30. );
  31. $docs_to_upload[] = $item;
  32. }
  33. $result = Service::factory('SearchService')->addUser($docs_to_upload);
  34. $docs_to_upload = array();
  35. echo "end_user:";
  36. var_dump($result);
  37. }
  38. }