github.com/axw/juju@v0.0.0-20161005053422-4bd6544d08d4/worker/imagemetadataworker/metadataupdater.go (about) 1 // Copyright 2015 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package imagemetadataworker 5 6 import ( 7 "time" 8 9 "github.com/juju/juju/api/imagemetadata" 10 "github.com/juju/juju/worker" 11 ) 12 13 // updatePublicImageMetadataPeriod is how frequently we check for 14 // public image metadata updates. 15 const updatePublicImageMetadataPeriod = time.Hour * 24 16 17 // NewWorker returns a worker that lists published cloud 18 // images metadata, and records them in state. 19 func NewWorker(cl *imagemetadata.Client) worker.Worker { 20 // TODO (anastasiamac 2015-09-02) Bug#1491353 - don't ignore stop channel. 21 f := func(stop <-chan struct{}) error { 22 return cl.UpdateFromPublishedImages() 23 } 24 return worker.NewPeriodicWorker(f, updatePublicImageMetadataPeriod, worker.NewTimer) 25 }