Thursday 15 September 2011

gearman - Does gearmand with libdrizzle work while mysql-database is down for a while? -


उपयोग केस:

  • गियरमांड पूरी तरह चालू है
  • बूंदाबंदी कनेक्शन दुर्घटनाओं (जैसे गियरमांड-डेटाबेस को रात के बैकअप के दौरान कुछ मिनट के लिए बंद कर दिया जाता है, या डाटाबेस में mysql सर्वर क्रैश या नेटवर्क-समस्याएं; libdrizzle के रूप में libdrizzle के साथ- mysql- डेटाबेस < सर्वर)।

    प्रश्न:

    क्या इस पल (MySQL) में दृढ़ता के बिना गियरमांड काम करता है और बाद में पकड़ता है?

    उत्तर

    नहीं

    < विवरण

    • डेबियन 6
    • गियरमांड 1.1.8 (के माध्यम से)
    • बिल्कुल 5000 नौकरियां doBackground के माध्यम से बनाया जा करने के लिए
    • jobs mysql में जारी रहती है

      / usr / local / sbin / gearmand -q mysql --mysql- उपयोगकर्ता user1 --mysql-password pass1 - - एमएससीएल-डीबी गियरमांड

      परिदृश्य # 1

      परिदृश्य:

      • आरई सक्षम करें

        परिणामः

        • स्क्रिप्ट जो पृष्ठभूमि कार्यों को बनाता है, होल्ड पर है।
        • इसके बाद READ ताला को हटाने, स्क्रिप्ट जारी है और सभी 5000 नौकरियों को सफलतापूर्वक बनाता है।
        • नोट: मैंने कुछ सेकंड के लिए लॉक का परीक्षण किया स्क्रिप्ट एक समय समाप्त होने के कारण क्रैश हो सकती है।

          परिदृश्य # 2

          परिदृश्य:

          • रोकें

            परिणाम:

            • mysqld के बिना, नौकरियां नहीं बनाई जा सकती हैं।
            • गियरमांड आउटपुट:

              mysql_stmt_prepare विफल: स्थानीय MySQL सर्वर से सॉकेट एक्स के माध्यम से कनेक्ट नहीं किया जा सकता

              PHP चेतावनी: गियरमैन क्लाइंट :: doBackground (): gearman_client_run_tasks: QUEUE_ERROR: QUEUE_ERROR दुर्भाग्य से, मेरे परीक्षण परिदृश्यों के साथ, गियरमांड काम बंद कर देता है यदि mysql दृढ़ता परत अनुपलब्ध है।

No comments:

Post a Comment