bugfix + reset timed out tasks

This commit is contained in:
simon987
2019-03-01 19:48:48 -05:00
parent 67cdd1e89e
commit 258a3c56eb
9 changed files with 60 additions and 22 deletions

View File

@@ -1,5 +1,9 @@
package storage
import (
"github.com/Sirupsen/logrus"
)
func (database *Database) ResetFailedTasks(pid int64) int64 {
db := database.getDB()
@@ -11,3 +15,20 @@ func (database *Database) ResetFailedTasks(pid int64) int64 {
rowsAffected, _ := res.RowsAffected()
return rowsAffected
}
func (database *Database) ResetTimedOutTasks() {
db := database.getDB()
res, err := db.Exec(`
UPDATE task SET assignee=NULL, assign_time=NULL
WHERE status=1 AND assignee IS NOT NULL
AND extract(epoch from now() at time zone 'utc') > (assign_time + max_assign_time);`)
handleErr(err)
rowsAffected, _ := res.RowsAffected()
logrus.WithFields(logrus.Fields{
"rowsAffected": rowsAffected,
}).Info("Reset timed out tasks")
}

View File

@@ -113,7 +113,7 @@ func (database *Database) GetTaskFromProject(worker *Worker, projectId int64) *T
(
SELECT task.id
FROM task
INNER JOIN project project on task.project = project.id
INNER JOIN project on task.project = project.id
LEFT JOIN worker_verifies_task wvt on task.id = wvt.task AND wvt.worker=$1
WHERE NOT project.paused AND assignee IS NULL AND project.id=$2 AND status=1
AND (project.public OR (