def queue_processed_recipesets(*args): work_done = False with session.begin(): recipesets = RecipeSet.by_recipe_status(TaskStatus.processed)\ .order_by(RecipeSet.priority.desc())\ .order_by(RecipeSet.id) recipeset_ids = [rs_id for rs_id, in recipesets.values(RecipeSet.id)] if recipeset_ids: log.debug('Queuing processed recipe sets [%s ... %s] (%d total)', recipeset_ids[0], recipeset_ids[-1], len(recipeset_ids)) for rs_id in recipeset_ids: session.begin() try: queue_processed_recipeset(rs_id) session.commit() except Exception, e: log.exception('Error in queue_processed_recipeset(%s)', rs_id) session.rollback() finally:
def provision_scheduled_recipesets(*args): """ if All recipes in a recipeSet are in Scheduled state then move them to Running. """ work_done = False with session.begin(): recipesets = RecipeSet.by_recipe_status(TaskStatus.scheduled) recipeset_ids = [rs_id for rs_id, in recipesets.values(RecipeSet.id)] if recipeset_ids: log.debug('Provisioning scheduled recipe sets [%s ... %s] (%d total)', recipeset_ids[0], recipeset_ids[-1], len(recipeset_ids)) for rs_id in recipeset_ids: session.begin() try: provision_scheduled_recipeset(rs_id) session.commit() except exceptions.Exception: log.exception('Error in provision_scheduled_recipeset(%s)', rs_id) session.rollback() finally: session.close() work_done = True return work_done