Ejemplo n.º 1
0
 /**
  * 添加新任务
  * [
  * 'urls':
  * [
  * title:"",
  * host:"",
  * url:"",
  * level:""
  * ]
  * ]
  * @Route("/addtask", name="addtask")
  * @Method("POST")
  */
 public function addTask(Request $request)
 {
     $em = $this->getDoctrine()->getManager();
     $data = $this->getData($request);
     $this->get('logger')->addError('ERROR', $data);
     // return $this->response(Response::HTTP_OK,implode($data));
     //        return $this->response(Response::HTTP_OK, $data);
     //记录Url
     if (!empty($data['urls'])) {
         foreach ($data['urls'] as $url) {
             $urlInfo = parse_url($url['url']);
             if (!isset($urlInfo['host'])) {
                 continue;
             }
             if ($em->getRepository('AppBundle:Task')->findBy(['url' => $url['url']])) {
                 $this->get('logger')->addError('ERROR', $url['url']);
                 continue;
             }
             $task = new Task();
             $task->setStatus(Task::STATUS_NO_DO);
             $task->setTitle($url['title']);
             $task->setDomain($urlInfo['host']);
             $task->setUrl($url['url']);
             $task->setLevel($url['level']);
             $task->setAddtime(time());
             $em->persist($task);
             $em->flush();
         }
     }
     //记录已经完成
     $task = $em->getRepository('AppBundle:Task')->find($data['id']);
     $task->setStatus(Task::STATUS_DO_SUCCESS);
     $em->flush();
     return $this->response(Response::HTTP_OK, []);
 }