mirror of
https://pagure.io/fm-orchestrator.git
synced 2026-04-24 02:32:26 +08:00
Register handlers as Celery tasks
This commit is contained in:
@@ -259,7 +259,13 @@ class MBSConsumer(fedmsg.consumers.FedmsgConsumer):
|
||||
kwargs.pop("event")
|
||||
|
||||
try:
|
||||
handler(**kwargs)
|
||||
if conf.celery_broker_url:
|
||||
# handlers are also Celery tasks, when celery_broker_url is configured,
|
||||
# call "delay" method to run the handlers as Celery async tasks
|
||||
func = getattr(handler, "delay")
|
||||
func(**kwargs)
|
||||
else:
|
||||
handler(**kwargs)
|
||||
except Exception as e:
|
||||
log.exception("Could not process message handler.")
|
||||
db_session.rollback()
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
import logging
|
||||
import koji
|
||||
|
||||
from module_build_service import conf, models, log
|
||||
from module_build_service import celery_app, conf, models, log
|
||||
from module_build_service.builder import GenericBuilder
|
||||
from module_build_service.builder.KojiModuleBuilder import KojiModuleBuilder
|
||||
from module_build_service.utils.general import mmd_to_str
|
||||
@@ -16,6 +16,7 @@ from module_build_service.utils.batches import continue_batch_build
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
|
||||
|
||||
@celery_app.task
|
||||
@events.mbs_event_handler()
|
||||
def build_task_finalize(
|
||||
msg_id, build_id, task_id, build_new_state,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# SPDX-License-Identifier: MIT
|
||||
from module_build_service import conf, log
|
||||
from module_build_service import celery_app, conf, log
|
||||
from module_build_service.builder.KojiModuleBuilder import KojiModuleBuilder
|
||||
from module_build_service.db_session import db_session
|
||||
from module_build_service.models import ModuleBuild, BUILD_STATES
|
||||
@@ -32,6 +32,7 @@ def get_corresponding_module_build(nvr):
|
||||
return ModuleBuild.get_by_id(db_session, module_build_id)
|
||||
|
||||
|
||||
@celery_app.task
|
||||
@events.mbs_event_handler()
|
||||
def decision_update(msg_id, decision_context, subject_identifier, policies_satisfied):
|
||||
"""Move module build to ready or failed according to Greenwave result
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
""" Handlers for module change events on the message bus. """
|
||||
|
||||
from module_build_service import conf, models, log, build_logs
|
||||
from module_build_service import celery_app, conf, models, log, build_logs
|
||||
import module_build_service.resolver
|
||||
import module_build_service.utils
|
||||
from module_build_service.utils import (
|
||||
@@ -40,6 +40,7 @@ def get_artifact_from_srpm(srpm_path):
|
||||
return os.path.basename(srpm_path).replace(".src.rpm", "")
|
||||
|
||||
|
||||
@celery_app.task
|
||||
@events.mbs_event_handler()
|
||||
def failed(msg_id, module_build_id, module_build_state):
|
||||
"""Called whenever a module enters the 'failed' state.
|
||||
@@ -100,6 +101,7 @@ def failed(msg_id, module_build_id, module_build_state):
|
||||
GenericBuilder.clear_cache(build)
|
||||
|
||||
|
||||
@celery_app.task
|
||||
@events.mbs_event_handler()
|
||||
def done(msg_id, module_build_id, module_build_state):
|
||||
"""Called whenever a module enters the 'done' state.
|
||||
@@ -138,6 +140,7 @@ def done(msg_id, module_build_id, module_build_state):
|
||||
GenericBuilder.clear_cache(build)
|
||||
|
||||
|
||||
@celery_app.task
|
||||
@events.mbs_event_handler()
|
||||
def init(msg_id, module_build_id, module_build_state):
|
||||
"""Called whenever a module enters the 'init' state.
|
||||
@@ -313,6 +316,7 @@ def get_content_generator_build_koji_tag(module_deps):
|
||||
return conf.koji_cg_default_build_tag
|
||||
|
||||
|
||||
@celery_app.task
|
||||
@events.mbs_event_handler()
|
||||
def wait(msg_id, module_build_id, module_build_state):
|
||||
""" Called whenever a module enters the 'wait' state.
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
import logging
|
||||
from datetime import datetime
|
||||
from module_build_service import conf, models, log
|
||||
from module_build_service import celery_app, conf, models, log
|
||||
from module_build_service.builder import GenericBuilder
|
||||
from module_build_service.utils import start_next_batch_build
|
||||
from module_build_service.db_session import db_session
|
||||
@@ -13,6 +13,7 @@ from module_build_service.scheduler import events
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
|
||||
|
||||
@celery_app.task
|
||||
@events.mbs_event_handler()
|
||||
def done(msg_id, repo_tag):
|
||||
"""Called whenever koji rebuilds a repo, any repo.
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
import logging
|
||||
import koji
|
||||
from module_build_service import conf, models, log
|
||||
from module_build_service import celery_app, conf, models, log
|
||||
from module_build_service.db_session import db_session
|
||||
from module_build_service.builder import GenericBuilder
|
||||
from module_build_service.scheduler import events
|
||||
@@ -12,6 +12,7 @@ from module_build_service.scheduler import events
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
|
||||
|
||||
@celery_app.task
|
||||
@events.mbs_event_handler()
|
||||
def tagged(msg_id, tag_name, build_name, build_nvr):
|
||||
"""Called whenever koji tags a build to tag.
|
||||
|
||||
Reference in New Issue
Block a user