def update_state()

in decisionai_plugin/common/util/meta.py [0:0]


def update_state(config, subscription, model_id, state:ModelState=None, context:str=None, last_error:str=None):
    azure_table = get_azure_table()
    meta = get_meta(config, subscription, model_id)
    if meta == None or meta['state'] == ModelState.Deleted.name:
        return STATUS_FAIL, 'Model is not found!'

    if state:
        meta['state'] = state.name

    if context:
        meta['context'] = context

    if last_error:
        meta['last_error'] = last_error
    else:
        meta['last_error'] = ''

    meta['mtime'] = time.time()
    etag = azure_table.insert_or_replace_entity2(config.az_tsana_meta_table, meta)

    log.info("Insert or replace %s to table %s, state: %s, context: %s, last_error: %s, result: %s." % (model_id, config.az_tsana_meta_table, 
        state.name if state else '', context if context else '', last_error if last_error else '', etag))

    return STATUS_SUCCESS, ''