func (db *SQLDB) completeTask(logger lager.Logger, task *models.Task, failed bool, failureReason, result string, tx *sql.Tx) error { now := db.clock.Now().UnixNano() _, err := db.update(logger, tx, tasksTable, SQLAttributes{ "failed": failed, "failure_reason": failureReason, "result": result, "state": models.Task_Completed, "first_completed_at": now, "updated_at": now, "cell_id": "", }, "guid = ?", task.TaskGuid, ) if err != nil { logger.Error("failed-updating-tasks", err) return db.convertSQLError(err) } task.State = models.Task_Completed task.UpdatedAt = now task.FirstCompletedAt = now task.Failed = failed task.FailureReason = failureReason task.Result = result task.CellId = "" return nil }
func (db *ETCDDB) markTaskCompleted(task *models.Task, failed bool, failureReason, result string) { now := db.clock.Now().UnixNano() task.CellId = "" task.UpdatedAt = now task.FirstCompletedAt = now task.State = models.Task_Completed task.Failed = failed task.FailureReason = failureReason task.Result = result }
BeforeEach(func() { expectedTask = model_helpers.NewValidTask("task-guid") err := sqlDB.DesireTask(logger, expectedTask.TaskDefinition, expectedTask.TaskGuid, expectedTask.Domain) Expect(err).NotTo(HaveOccurred()) }) JustBeforeEach(func() { var err error beforeTask, err = sqlDB.TaskByGuid(logger, expectedTask.TaskGuid) Expect(err).NotTo(HaveOccurred()) }) It("starts the task", func() { fakeClock.IncrementBySeconds(1) expectedTask.CellId = "expectedCellId" started, err := sqlDB.StartTask(logger, expectedTask.TaskGuid, expectedTask.CellId) Expect(err).NotTo(HaveOccurred()) Expect(started).To(BeTrue()) task, err := sqlDB.TaskByGuid(logger, expectedTask.TaskGuid) Expect(err).NotTo(HaveOccurred()) Expect(task.TaskGuid).To(Equal(expectedTask.TaskGuid)) Expect(task.State).To(Equal(models.Task_Running)) Expect(task.CellId).To(Equal(expectedTask.CellId)) Expect(task.TaskDefinition).To(BeEquivalentTo(expectedTask.TaskDefinition)) Expect(task.UpdatedAt).To(Equal(fakeClock.Now().UnixNano())) })