Untitled

 avatar
unknown
plain_text
4 years ago
1.0 kB
3
Indexable
@task(name='flat-sale-items')
def flat_sale_items(client_id, type_flatten):
    """
    celery job
    flat sale items data
    by client_id, dirty flag
    """

    data_flatten_track = None
    try:
        data_flatten_track = DataFlattenTrack.objects.get(client_id=client_id, type=type_flatten)
        data_flatten_track.status = JOB_STATUS[3][0]
        transaction.on_commit(lambda: data_flatten_track.save())

        #
        data_source_handler = DataFlatten(client_id=client_id, type_flatten=type_flatten,
                                          sql_generator=SqlGeneratorContainer.flat_sale_items())
        data_source_handler.do_flatten()

        data_flatten_track.status = JOB_STATUS[1][0]
        data_flatten_track.log = None
        transaction.on_commit(lambda: data_flatten_track.save())
    except Exception as err:
        logger.error(err)
        data_flatten_track.status = JOB_STATUS[2][0]
        data_flatten_track.log = str(err)
        transaction.on_commit(lambda: data_flatten_track.save())
Editor is loading...