def finalized(self): move_process_id = self.kwargs.get('move_process_id') logging.info('Finishing process [%s]', move_process_id) process = MoveProcess.get_by_id(move_process_id) process.status = constants.FINISHED process.execution_finish = datetime.now() process.put()
def run(self, message_process_id=None, user_process_id=None, move_process_id=None): move_process = MoveProcess.get_by_id(move_process_id) user_process = MoveUserProcess.get_by_id(user_process_id) try: move_message(user_process=user_process, message_process_id=message_process_id, label=move_process.tag) except Exception as e: if self.current_attempt >= self.max_attempts: logging.exception( 'Failed definitely moving the message id [%s] for user [%s] messages', message_process_id, user_process.user_email) message_process = MoveMessageProcess.get_by_id( message_process_id) message_process.status = constants.FAILED message_process.error_description = e.message message_process.put() counter.load_and_increment_counter( '%s_%s_error_counter' % ( user_process.user_email, user_process.key.id())) else: logging.exception( 'Failed retrieving a messagee id [%s] for [%s], ' 'try again...', message_process_id, user_process.user_email) raise e
def run(self, move_process_id): logging.info("start process for move_process %s", move_process_id) process = MoveProcess.get_by_id(move_process_id) emails = process.emails user_processes = [] for email in emails: user_process = MoveUserProcess( user_email=email, move_process_key=process.key, status=constants.STARTED ) user_process_key = user_process.put() user_process_id = user_process_key.id() user_processes.append((yield MoveUserProcessPipeline( user_process_id=user_process_id, tag=process.tag))) yield List(*user_processes)