그래서 여기에 학생들을 코스 (Google 클래스 룸 API)에 추가하는 스크립트를 작성했습니다.파이썬에서는 일괄 처리 된 HTTP 요청에 대해 요청 당 '지수 백 오프'를 사용할 수 있습니까?
students = getStudents('Year10', '10A') # VAR
for student in students:
newStudent = {
# Student Identifier
'userId': student
}
batch1_1.add(service.courses().students().create(courseId=arCourseId, body=newStudent))
batch1_1.add(service.courses().students().create(courseId=ciCourseId, body=newStudent))
batch1_1.add(service.courses().students().create(courseId=dtCourseId, body=newStudent))
batch1_1.add(service.courses().students().create(courseId=drCourseId, body=newStudent))
batch1_1.add(service.courses().students().create(courseId=enCourseId, body=newStudent))
batch1_2.add(service.courses().students().create(courseId=geCourseId, body=newStudent))
batch1_2.add(service.courses().students().create(courseId=hiCourseId, body=newStudent))
batch1_2.add(service.courses().students().create(courseId=icCourseId, body=newStudent))
batch1_2.add(service.courses().students().create(courseId=laCourseId, body=newStudent))
batch1_2.add(service.courses().students().create(courseId=maCourseId, body=newStudent))
batch1_3.add(service.courses().students().create(courseId=muCourseId, body=newStudent))
batch1_3.add(service.courses().students().create(courseId=peCourseId, body=newStudent))
batch1_3.add(service.courses().students().create(courseId=reCourseId, body=newStudent))
batch1_3.add(service.courses().students().create(courseId=scCourseId, body=newStudent))
batch1_1.execute()
time.sleep(1)
batch1_2.execute()
time.sleep(1)
batch1_3.execute()
time.sleep(1)
그것은 그러나, 때로는 개별 요청은 일 반환 않습니다
는내부 오류 ""
을? "HttpError 500] https://classroom.googleapis.com/v1/courses/[COURSE ID를 요청할 때/학생들은 고도 = JSON 반환" 그리고이 개별 요청에 대해 5xx 오류가 발생하면 실패한 개별 요청을 다시 시도하도록 코드를 작성하고 싶습니다. 나는 이것을 어떻게 구현하는지 확신 할 수 없다.
현재 1 명의 학생 만 코스를 만들지 않았다면 전체 스크립트를 다시 실행해야합니다. 물론 리소스의 낭비입니다.