CSV의 내용을 여러 가지 "읽기"로 구문 분석하는 앱을 만들고 있습니다. 그런 다음이 판독 값을 데이터베이스에 추가 된 REST API 서버에 게시합니다.REST API에 게시하기위한 항목 대기열
지금까지는 그렇게 좋았습니다 (위가 효과적입니다). 그러나 때때로 서버와의 연결 문제 (지연 또는 API가 어떤 이유로 든 중단되는 경우)가있을 수 있음을 알고 있습니다.
이 문제를 해결하기 위해 Sidekiq을 사용하여 전송을 비동기 적으로 수행하도록 계획했습니다. 그러나, 나는 몇 가지 질문이 있습니다
오전 i를 CSV 구문 분석 할 때 바로이 일을 대기 한 후 게시물을 수행 할 ActiveJob을 만들고 오프 최고? 연결 문제가있는 경우 결국 추가되는 순서대로 다시 시작됩니다.
Sidekq에게 작업을 "다시 시도"할 필요가 있습니까, 아니면 자동으로 실행 되나요?
마지막으로, Sidekiq이 Redis를 사용하므로 큐에 항목이있는 동안 응용 프로그램 서버가 손상되면 손실되지 않도록 지속성을 활성화해야합니까?
다른 의견이 있습니까? 아니면이 문제를 해결하는 더 좋은 방법일까요?
CSV는 1-2 개의 행만 가지며, 각 행은 15 개 정도의 값을 가지며 5 분마다 도착합니다. 그런 점을 염두에두고, "포스트 행"작업을 만들고 "프로세스 CSV"작업보다는 행 단위로 처리해야한다고 생각합니다. –
@JoeCzucha, 그렇습니다. 더 나은 접근 방법이라고 생각합니다. 이 방법은 실패한 작업을 자동으로 처리하고 성공적으로 처리 된 행에 대해 다시 실행되지 않습니다. –
팁 주셔서 감사합니다. 자동으로 큐를 돌리는 CRON 작업을 매 n 분마다 실행해야합니까, 아니면 Sidekiq이 자동으로 실행합니까? 응용 프로그램이 충돌하거나 다시 시작될 경우 대기열을 다시 시작 하시겠습니까? –