diff --git a/module_build_service/scheduler/main.py b/module_build_service/scheduler/main.py index a8a82d0f..cec78dc9 100644 --- a/module_build_service/scheduler/main.py +++ b/module_build_service/scheduler/main.py @@ -159,6 +159,13 @@ class MessageWorker(threading.Thread): log.info("Calling %s" % idx) further_work = handler(conf, session, msg) or [] log.info("Done with %s" % idx) + + # Handlers can *optionally* return a list of fake messages that + # should be re-inserted back into the main work queue. We can use + # this (for instance) when we submit a new component build but (for + # some reason) it has already been built, then it can fake its own + # completion back to the scheduler so that work resumes as if it + # was submitted for real and koji announced its completion. for event in further_work: log.info(" Scheduling faked event %r" % event) self.incoming_work_queue.put(event)