나는 heroku에서 무한한 수의 직원을 만들지 않도록 확인하고 싶습니다.Sidekiq 아키텍처 질문
def perform
UserRepo.all.each do |user|
EnqueueFolderSyncJobs.perform_async user.id
SyncContacts.perform_async user.id
SyncMeetings.perform_async user.id
end
end
그것은 모든 사용자를 반복하고 더 노동자를 만듭니다
every 5.minutes, SyncAccounts
동기화 계정은 다음과 같습니다
나는 Heroku가에 시계 보석에 의해 시작되어 다음과 같은 작업을해야합니다. 이러한 노동자의 각각은, 예를 들어, EnqueFolderSyncJobs는 IMAP 폴더를 동기화하기 위해 노동자를 만들고, 더 많은 근로자를 만들 수 있습니다 : 이런 일이
google.email.folders.each do |folder|
SyncFolder.perform_async user_id, folder unless skip?(folder)
end
그래서 5 분마다.
perform_async를 호출한다는 것은 작업이 한 번만 발생한다는 것을 의미합니까?
이 모든 작업의 끝에서 콜 드레인이 필요합니까?
또한 모든 대기열이 동일한 대기열에서 만들어 지므로 예를 들어 SyncFolders에 대해 별도의 대기열을 만들어야합니까?