자동으로 여러 개의 주제와 게시물을 생성하려고 하고 있습니다. 하지만 계속 속도 제한에 걸리고 있습니다.
처음에는 API를 사용해 보았습니다. 스크립트가 빠르게 429 오류를 일으켰습니다. 관리자 권한으로 속도 제한을 조정해 보았지만(스크린샷 참조), 여기서는 올바른 접근 방식이 무엇인지, 아니면 이것이 헛된 노력인지 불분명합니다.
그다음 컨테이너 내부에서 rails r <script>를 사용하여 루비 스크립트를 실행해 보았습니다. 하지만 여기에서도 An error occurred RateLimiter::LimitExceeded 오류가 발생합니다. 루비 메서드도 속도 제한의 대상이 된다는 사실에 놀랐습니다. 왜 그런가요?
어쨌든, 이를 피할 방법이 있을까요? 대량으로 데이터를 가져오는 올바른 방법은 무엇인가요? 직접 SQL을 사용하는 것도 고려해 보았지만, 항목을 생성할 때 데이터베이스에서 필드를 누락할 걱정을 하지 않도록 더 높은 수준의 API를 사용하는 것이 더 낫다고 생각합니다.
서버가 이상한 상태에 있는 건 아닌지 궁금합니다. 스크린샷에서 레이트 리밋을 0으로, 어쩌면 -1로 설정해 보고 있거든요. 이제 여기저기서 레이트 리밋 오류가 발생하고 있습니다. 다만 이상하게도 일부 요청은 통과해서, 생성하려는 1500개 레코드 중 3~4개는 데이터베이스에 저장됩니다. 데이터베이스를 삭제하고 새로고침해서 문제가 해결되는지 확인해 볼 수도 있겠네요. 데이터베이스 상태를 확인하고, 만약 버그가 있다면 이를 포착하는 방법을 모르겠습니다.
@pfaffman 레이트 리밋을 변경하면서 뭔가 잘못한 것 같고, 이제 시스템이 이상한 상태에 빠져 있는 것 같습니다. 이 에러들이 진짜 문제가 아니라 다른 곳에서 문제가 생긴 것 같습니다. 서버를 새로 생성해서 이번에는 스크립트가 제대로 작동하는지 확인한 후 다시 보고하겠습니다.
shared 디렉터리 안의 postgres_data 디렉터리를 삭제한 후 ./launcher rebuild app을 실행하여 앱의 새 인스턴스를 생성했습니다.
제 스크립트는 이제 사용자를 생성하고 해당 사용자가 소유한 카테고리를 생성한 다음, 그 카테고리 안에 토픽을 생성하려고 합니다. 하지만 즉시 속도 제한 오류가 발생합니다: An error occurred RateLimiter::LimitExceeded
rails r 스크립트는 속도 제한 문제의 영향을 받지 않아야 한다고 생각하는데, 정말 그렇지 않나요? 모델 코드에서 속도 제한 코드가 실행되는 것을 볼 수 있지만, 이를 비활성화하는 방법이나 API를 통해 요청이 들어오는 경우에만 이 동작이 일어나도록 설정하는 방법을 확인하는 방법을 알지 못합니다.
다른 제안이 있을까요? psql을 통해 직접 접근하는 것이 지금은 최선의 방법인 것 같지만, rails r 스크립트가 훨씬 깔끔하고 사용하기에 쉬워서 아쉽습니다.