기부금 호소: 모든 지연된 업무를 Sidekiq로 이전
지금 우리는 smokin-fast Redis의 실례를 하나 가지고 있습니다. 우리는 모든 백그라운드 작업을 Delayed Job에서 Sidekiq로 옮기고 있습니다!아래 링크를 클릭하면 더 많은 것을 알 수 있습니다!
여기에는 우리가 왜 Sidekiq로 이사해야 하는지, 우리가 어떻게 해야 하는지, 도와주는 지도 방침, 심지어 당신을 가게 하는 예도 많이 있습니다.나는 이것이 개원 분야에 진출하고 싶은 누구에게나 좋은 기회라고 생각한다.만약 당신에게 무슨 문제가 있으면 저에게 알려주세요!
Happing 인코딩😃
mstruve
에 게시
왜 저희가 Sidekiq로 이사를 가야 돼요?
Delayed Job은 데이터베이스에 의존하여 작업을 처리하기 때문에 대량의 작업을 얻을 때 속도가 매우 느릴 수 있습니다.따라서 작업량이 증가함에 따라 새로운 부하를 따라갈 수 있도록 Sidekiq로 전환하고 있습니다.마찬가지로 Delayed Job에서도 많은 일을 잘 처리하지 못하기 때문에, 신뢰성을 확보하려고 할 때, 이것은 좋지 않다.Sidekiq에서 우리는 일을 실패시킬 것을 걱정할 필요가 없다. Redis의 도움으로 Sidekiq는 많은 일을 신속하게 처리할 수 있다.
Sidekiq에는 좋은 기능과 플러그인도 많이 있습니다. 작업/작업 절차가 더욱 복잡해질 때 사용할 수 있습니다.Sidekiq가 왜 훌륭한 백그라운드 작업 도구인지 알고 싶다면.
왜 Sidekiq를 Active Job에 직접 걸지 않습니까?
네, Sidekiq는 hook into ActiveJob 할 수 있지만 단점도 있습니다.주의해야 할 것은 그것2-20x slower이다.또 다른 큰 단점은 Active Job이 미래에 사용할 수 있는 Sidekiq's commercial features 과 호환되지 않는다는 것이다.Active Job을 사용하여 이메일을 보내는 것은 제가 Sidekiq와 bc를 연결할 계획인 유일한 일입니다. 이 작업들은 매우 간단합니다.만약 우리가 그것을 완전히 제어할 수 있다면, 그것을 완전히 Sidekiq로 이동하고 인터페이스를 가능한 한 간단하게 유지할 수 있다면, 그 어떠한 다른 작업도 유리할 것이다.
작업 이동 정책
우리가 Redis keys를 위해 한 것과 마찬가지로, 우리는 하나하나 일을 이동할 것이다.작업이 DJ(Delayed Job)에서 Sidekiq로 이동할 때 Worker
끝으로 이름을 바꿉니다.
예: BustMultipleCachesJob
= > BustMultipleCachesWorker
이 신입사원들은 업무와 무관한 단독 폴더에 저장되어 여전히 해야 할 일을 신속하게 평가하는 데 도움을 줄 것이다.
뭐 공부 해요?
옮겨야 할 일이 많은데, 이것이 바로 내가 지역 사회의 도움을 좋아하는 이유이다!일자리를 찾아서 Sidekiq로 옮기고 이 문제의 라벨이 있는 PR을 엽니다.
작업 이동 시
네가 이사할 때, 두 가지 방법이 있다
1. 새로운 노동자 계급을 만들고 같은 PR에서 모든 작업을 삭제한다. 많지 않은 작업에 대해서는 100% 벌금이다.예를 들어, 만약 우리가 매일 스케줄러에서 작업을 실행한다면, 우리는 하나의 PR에서 스크롤을 할 수 있다.
2. 신입 사원을 만들고 PR을 엽니다. PR이 통합되면 두 번째 PR을 열어 낡은 작업을 삭제합니다. 이것은 우리가 빈번한 작업을 수행하기 위해 해야 하는 것입니다.색인이나 캐시를 파괴하는 일을 생각해 보세요.PRS를 단독으로 합병함으로써 우리는 신입사원을 만들 때 현재 진행 중인 업무를 구속하지 않을 것을 확보할 수 있다.
나는 그것을 어느 대열에 넣어야 합니까?
작업 집행의 빈도와 이 작업의 중요성을 봐라.예를 들어 사용자 인터페이스에서 시작된 작업은 사용자가 원하는 데이터를 얻을 수 있도록 우리가 원하는 데이터를 신속하게 업데이트하고 있다.배지를 나누어 주는 계획 작업은 그렇게 중요하지 않다. 우선 순위가 낮은 대열에 들어갈 수 있도록 조금 늦출 수 있다.Sidekiq queues we have are:queues:
- ["default", 1]
- ["low_priority", 10]
- ["medium_priority", 100]
- ["high_priority", 1000]
- ["scheduler", 1000]
- ["mailers", 1000]
오른쪽의 숫자는 대열의 중요성을 나타낸다.수량이 많을수록 대열이 중요해지고 이 작업을 수행하는 속도도 빨라진다.이 숫자들은 사실상 하나의 비율이다.각 대기열이 가득 차면 100high_priority
개, 10medium_priority
개 등 1000low_priority
개의 작업을 수행합니다.
작업을 이동할 때 언제든지 작업 자체를 확인하고 성능이나 실행 방식을 개선하십시오.예:
:queues:
- ["default", 1]
- ["low_priority", 10]
- ["medium_priority", 100]
- ["high_priority", 1000]
- ["scheduler", 1000]
- ["mailers", 1000]
예제 PRS
단일 PR 작업 이동:
다중 PR 작업 이동: PR 1-
업무를 처리하다
뭘 하고 싶은지 알려줘!!!
글:
감사
휘장 성취
채널
기밀이었어
평론
이벤트
따르다
언급하다
통지
조직 기관
페이지
팟캐스트 주당 이익
팟캐스트
전문 회원 자격
반응하다
검색
시냇물
태그
사용자
그물 갈고리
따로
Reference
이 문제에 관하여(기부금 호소: 모든 지연된 업무를 Sidekiq로 이전), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/devteam/call-for-contributions-move-all-delayedjobs-to-sidekiq-246k텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)