// 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,