/** * {@inheritdoc} */ public function saveRunUnit(RunUnit $unit) { if (!$unit->getId()) { throw new \RuntimeException('Cannot save run unit: no ID set in instance.'); } $this->saveOutputFiles($unit->getOutputFiles()); $stmt = $this->connection->prepare('UPDATE bl_run_unit SET started_at = :started_at, finished_at = :finished_at, return_code = :return_code, output_files = :output_files WHERE id = :id'); $stmt->bindValue('started_at', $unit->getStartedAt(), "datetime"); $stmt->bindValue('finished_at', $unit->getFinishedAt(), "datetime"); $stmt->bindValue('output_files', json_encode($unit->getOutputFiles()->toArrayOfID())); $stmt->bindValue('return_code', json_encode($unit->getReturnCode())); $stmt->bindValue('id', $unit->getId()); $this->connection->beginTransaction(); $stmt->execute(); $this->connection->commit(); return $this; }