b70c632 Send module build state change message after commit to database

8 files Authored by cqi 4 years ago, Committed by mprahl 4 years ago,
    Send module build state change message after commit to database
    
    In MBS, there are two cases to send a message when a module build moves
    to a new state. One is to create a new module build, with
    ModuleBuild.create particularly, when user submit a module build.
    Another one is to transition a module build to a new state with
    ModuleBuild.transition. This commit handles these two cases in a little
    different ways.
    
    For the former, existing code is refactored by moving the publish call
    outside ModuleBuild.create.
    
    For the latter, message is sent in a hook of SQLAlchemy ORM event
    after_commit rather than immediately inside the ModuleBuild.transition.
    
    Both of these changes ensure the message is sent after the changes are
    committed into database successfully. Then, the backend can have
    confidence that the database has the module build data when receive a
    message.
    
    Signed-off-by: Chenxiong Qi <cqi@redhat.com>