MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

साइडकीक के साथ कई डुप्लिकेट नौकरियों में से केवल एक को निष्पादित करें?

मेरा प्रारंभिक सुझाव इस विशिष्ट कार्य के लिए एक म्यूटेक्स होगा। लेकिन चूंकि इस बात की संभावना है कि आपके पास साइडकीक कार्य करने वाले कई एप्लिकेशन सर्वर हो सकते हैं, मैं रेडिस स्तर पर कुछ सुझाव दूंगा।

उदाहरण के लिए, redis-semaphore का उपयोग करें आपकी साइडकीक कार्यकर्ता परिभाषा के भीतर। एक परीक्षण न किया गया उदाहरण :

def perform
  s = Redis::Semaphore.new(:map_reduce_semaphore, connection: "localhost")

  # verify that this sidekiq worker is the first to reach this semaphore.
  unless s.locked?

    # auto-unlocks in 90 seconds. set to what is reasonable for your worker.
    s.lock(90)
    your_map_reduce()
    s.unlock
  end
end

def your_map_reduce
  # ...
end


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोमैपर एसोसिएशन डुप्लीकेट छोड़ देता है

  2. कई क्षेत्रों द्वारा MongoDB पाठ खोज फ़िल्टर

  3. MongoDB दस्तावेज़ के उप-सरणी के लिए mongodb जावा का उपयोग करके क्वेरी को हटाने में क्या गलत है?

  4. मोंगोडब सर्वोत्तम अभ्यास:घोंसला बनाना

  5. मोंगोइम्पोर्ट के दौरान त्रुटि