def _export_keyword(self, keyword, print_results): try: export_files(keyword) if print_results: print "Success|%s.zip" % keyword except Exception as e: logger.exception("Failed to complete export for keyword %s", keyword) raise CommandError("Failed to export %s: %s" % (keyword, str(e)))
def migrate_files(process_id, keyword, canvas_course_id, term, title): logger.info( "Starting migrate_files job for keyword %s, canvas_course_id %s, term %s, and title %s", keyword, canvas_course_id, term, title ) job = None try: job = get_current_job() job.meta['process_id'] = process_id job.save() logger.debug("RQ job details: {}".format(job.to_dict())) except Exception as e: logger.exception( "Failed to get current job information from RQ for process_id: {}. " "(Possibly running migrate_files() outside of an RQ " "worker?)".format(process_id)) try: process = Process.objects.get(id=process_id) except Process.DoesNotExist: logger.exception("Failed to find Process with id %d", process_id) raise process.state = Process.ACTIVE process.details['rq_job_id'] = getattr(job, 'id', 'None') process.date_active = timezone.now() process.save(update_fields=['state', 'details', 'date_active']) try: export_files(keyword) process.status = import_files(keyword, canvas_course_id) if process.status == 'failed': process.details['error'] = 'Canvas content migration failed' except Exception as e: logger.exception("Failed to complete content migration for keyword %s", keyword) process.status = 'failed' process.details['error'] = str(e) process.state = Process.COMPLETE process.date_complete = timezone.now() process.save(update_fields=['state', 'status', 'date_complete']) logger.info( "Finished migrate_files job for keyword %s and canvas_course_id %s with details %s", keyword, canvas_course_id, process.details ) return { 'state': process.state, 'status': process.status, 'details': process.details }
def migrate_files(process_id, keyword, canvas_course_id, term, title): logger.info( "Starting migrate_files job for keyword %s, canvas_course_id %s, term %s, and title %s", keyword, canvas_course_id, term, title ) try: process = Process.objects.get(id=process_id) except Process.DoesNotExist: logger.exception("Failed to find Process with id %d", process_id) raise process.state = Process.ACTIVE process.save() try: export_files(keyword) process.status = import_files(keyword, canvas_course_id) if process.status == 'failed': process.details['error'] = 'Canvas content migration failed' except Exception as e: logger.exception("Failed to complete content migration for keyword %s", keyword) process.status = 'failed' process.details['error'] = str(e) process.state = Process.COMPLETE process.save() logger.info( "Finished migrate_files job for keyword %s and canvas_course_id %s with details %s", keyword, canvas_course_id, process.details ) return { 'state': process.state, 'status': process.status, 'details': process.details }