Esempio n. 1
0
 /**
  * Save task in file
  * @param Task $task
  * @return $this
  */
 private function save_task(Task $task)
 {
     return $this->save_array($task->to_array());
 }
Esempio n. 2
0
 /**
  * Modify task in queue
  * @param Task $task
  * @param bool $need_commit Transaction commit required
  * @return bool
  */
 public function modify_task(Task $task, $need_commit = false)
 {
     $task_array = $task->to_array(true);
     if (count($task_array) > 1) {
         $update_statement = implode(",", array_filter(array_map(function ($entity) {
             if ($entity == TaskConst::ID) {
                 return null;
             }
             return $entity . "=:" . $entity;
         }, array_keys($task_array))));
         $query = $this->connection->prepare("UPDATE {$this->table_name} SET {$update_statement} where id = :id");
         $query->execute($task_array);
     }
     if ($need_commit) {
         $this->connection->commit();
     }
     return $this;
 }