github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/atc/db/worker_artifact_lifecycle.go (about) 1 package db 2 3 import ( 4 sq "github.com/Masterminds/squirrel" 5 ) 6 7 //go:generate counterfeiter . WorkerArtifactLifecycle 8 9 type WorkerArtifactLifecycle interface { 10 RemoveExpiredArtifacts() error 11 } 12 13 type artifactLifecycle struct { 14 conn Conn 15 } 16 17 func NewArtifactLifecycle(conn Conn) *artifactLifecycle { 18 return &artifactLifecycle{ 19 conn: conn, 20 } 21 } 22 23 func (lifecycle *artifactLifecycle) RemoveExpiredArtifacts() error { 24 25 _, err := psql.Delete("worker_artifacts"). 26 Where(sq.Expr("created_at < NOW() - interval '12 hours'")). 27 RunWith(lifecycle.conn). 28 Exec() 29 30 return err 31 }