redis에 작업 등록
묘사
resque 웹토론 #1
에서 작업을 정확하게 표시할 수 있습니다. 대단합니다!나는 단지 resque worker 코드를 빠르게 훑어보았을 뿐이다. 왜냐하면 우리는 그곳의 기능을 복제하고 싶기 때문이다.보아하니 우리도 일이 끝난 후에 열쇠를 제거해야 할 것 같다.저는 리디스setting와 deleting 작업자와 관련된 모니터링 키의 단독 방법을 좋아합니다.그러나 정리 작업은 좀 복잡하다.coffee resque는 같은 일을 처리할 수 있는 여러 명의 직원을 만들 수 있도록 합니다.이 기능을 사용하면 IO 집약적 작업에 유용한 동시 작업 발생을 제한할 수 있습니다.나는 항상 내 직원들을 위해 유일한 이름을 사용하지만, 이것은 틀이 요구하는 것이 아니다.그래서 우리가 의지할 수 있는 건 일꾼의 이름과 일이라고 생각해요.
사상
토론 #2
나는 노동자의 이름+일에 의존하면 된다고 생각한다.일시 정지 규칙에 삭제를 추가합니다. 효과가 좋은 것 같습니다.500명의 노동자와 약 15만 개의 일자리를 대상으로 테스트를 실시했다.대기열이 비어 있을 때, 예상한 대로 상태가 바뀌었는지 자세히 확인하십시오.토론 #셋
잘됐다!그러나 나는 pause
가 이곳에 적합한지 확실하지 않다.작업이 끝난 후에는 열쇠를 꺼내야 한다.pause
에서 이 동작을 실행하면 같은 노동자가 목록에 나타나 여러 업무에 종사하게 되며 사실상 그렇지 않습니다. 또한 통계 데이터는 목록에 보이는 데이터와 일치하지 않습니다.이 코드를
finally
의 perform
블록에 어떻게 추가할 것 같습니까?이것은 논리에 맞는 부분으로resque의 방식과 일치한다.rb는 이 열쇠를 유지하고 있습니다.이 리디스를 재구성하는 방법은 새로운 방식이다.rb도 물건을 정리할 거예요.만약 일이 정말 빨리 끝난다면...
토론 #4
노동자가 선택한 모든 업무의 기록을 집합해야 하기 때문에 한 번을 초과해서는 안 된다.그러나 나는 확실히 주제에서 벗어났다. 공연의 마지막 단계는 아마도 더 좋은 곳일 것이다.나는 그것을 그곳으로 옮긴 후에 그것의 성능이 어떤지 다른 것을 시도할 것이다.
토론 #5
어머, 난 이 일도 명명 관례의 일부인 줄 알았어. 미안해.나는 교정되었다.일시 정지할 때del을 실행하는 데는 더 적은 IOS가 필요하며, Redis의 효과는 이와 같으며, 고용량 작업자들의 최상의 해결 방안이 될 것이다.우리는 multi를 사용하여 통계 데이터를 업데이트하고 키를 삭제해서 추가 IO를 상쇄할 수 있습니다.그러나, 나는 이 주스가 가치가 있는지 없는지 확실하지 않다. 왜냐하면, 리디스의 속도가 너무 빠르기 때문이다.너무 크게 생각해서 미안해요.테스트 결과를 알려줘.
토론 #6
나는 10만 개의 ish 작업을 실행했다.del는 최종적으로 들어갔고 다른 작업은 중단되었다.성능이 비슷하지만 일시 중지할 때 이 기능을 사용하는 것이 더 효과적인 것 같습니다.큰 것은 없지만, 내가 잠시 멈출 때델을 남기에는 충분하다.토론 #7
복구해 주셔서 감사합니다.나는 잠시 후에 다시 합병할 것이다.토론 #8
npm에 발표.병합 후에 약간의 변경을 했다-set/del 키 호출 각각 이입
workingOn
과 doneWorking
방법-
workingOn
현재 근로자와 실제 처리 작업을 확인한 후 호출-
doneWorking
현재 perform
의 마지막 블록에 있음다시 한 번 감사합니다!만약 어떤 문제에 부딪히면 저에게 알려 주세요.나는 resque 사이트에서 한 번 보았는데, 나는 모든 것이 정상이라고 생각한다.
토론 #9
보기 좋네요. 감사합니다!오늘 나는 파괴되지 않은 이상에 적응할 수 있는지 확인하는 데 약간의 시간을 들일 것이다.내가 현재 테스트 중인 노동자 중에서 만약 이 데이터가 하위 모듈(예를 들어 요청 모듈)에서 튀어나오면 노동자로 하여금 일을 멈추게 하고 이를 Redis에 걸게 할 것이다.2012년 7월 24일 저녁 8:38, 숀 맥다니엘은 다음과 같이 썼다.
Published to npm. Made a few changes after this merge - set/del key calls moved into
workingOn
anddoneWorking
methods respectfully -workingOn
is now called after it is determined that the Worker and actually process the job -doneWorking
is now in the finally block ofperform
Thanks again! Let me know if run into any issues. I checked it out in resque-web and things looked ok to me.
Reply to this email directly or view it on GitHub: https://github.com/technoweenie/coffee-resque/pull/26#issuecomment-7237685
토론 #10
종료 #25Reference
이 문제에 관하여(redis에 작업 등록), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://github.com/technoweenie/coffee-resque/issues/26텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)