|
|
|
@ -28,21 +28,19 @@ var prQueue queue.UniqueQueue
|
|
|
|
|
|
|
|
|
|
// AddToTaskQueue adds itself to pull request test task queue.
|
|
|
|
|
func AddToTaskQueue(pr *models.PullRequest) {
|
|
|
|
|
go func() {
|
|
|
|
|
err := prQueue.PushFunc(strconv.FormatInt(pr.ID, 10), func() error {
|
|
|
|
|
pr.Status = models.PullRequestStatusChecking
|
|
|
|
|
err := pr.UpdateColsIfNotMerged("status")
|
|
|
|
|
if err != nil {
|
|
|
|
|
log.Error("AddToTaskQueue.UpdateCols[%d].(add to queue): %v", pr.ID, err)
|
|
|
|
|
} else {
|
|
|
|
|
log.Trace("Adding PR ID: %d to the test pull requests queue", pr.ID)
|
|
|
|
|
}
|
|
|
|
|
return err
|
|
|
|
|
})
|
|
|
|
|
if err != nil && err != queue.ErrAlreadyInQueue {
|
|
|
|
|
log.Error("Error adding prID %d to the test pull requests queue: %v", pr.ID, err)
|
|
|
|
|
err := prQueue.PushFunc(strconv.FormatInt(pr.ID, 10), func() error {
|
|
|
|
|
pr.Status = models.PullRequestStatusChecking
|
|
|
|
|
err := pr.UpdateColsIfNotMerged("status")
|
|
|
|
|
if err != nil {
|
|
|
|
|
log.Error("AddToTaskQueue.UpdateCols[%d].(add to queue): %v", pr.ID, err)
|
|
|
|
|
} else {
|
|
|
|
|
log.Trace("Adding PR ID: %d to the test pull requests queue", pr.ID)
|
|
|
|
|
}
|
|
|
|
|
}()
|
|
|
|
|
return err
|
|
|
|
|
})
|
|
|
|
|
if err != nil && err != queue.ErrAlreadyInQueue {
|
|
|
|
|
log.Error("Error adding prID %d to the test pull requests queue: %v", pr.ID, err)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// checkAndUpdateStatus checks if pull request is possible to leaving checking status,
|
|
|
|
|