2011-03-07 2 views
6

मैं mysql-proxy के लिए स्क्रिप्टिंग के साथ खेल रहा हूँ। जो मैं पूरा करने की कोशिश कर रहा हूं वह अप्रासंगिक है। हालांकि, मुझे यह पता चल रहा है कि लुआ इंटरफेस के तत्व मौजूद हैं जो अनियंत्रित हैं। मेरे पास बड़ी "धूम्रपान बंदूक" है disconnect_client() हुक है। मैं इसे the official documentation में कहीं भी प्रलेखित हालांकि यह explanation of the admin interface पर एक उदाहरण में प्रयोग किया जाता है नहीं मिल रहा है,। यह उदाहरण दस्तावेज़ों में बड़े पैमाने पर भी उपयोग किया जाता है। एक त्वरित ग्रेप से पता चलता निम्न स्क्रिप्ट में इसके उपयोग 5.5.8 वितरण में शामिल:क्या mysql-proxy lua स्क्रिप्टिंग के लिए पूर्ण दस्तावेज़ीकरण का एक सेट है?

सक्रिय queries.lua
सक्रिय transactions.lua
लोड multi.lua
ro-pooling.lua
rw-splitting.lua
ट्यूटोरियल-keepalive.lua

मेरे अन्य उदाहरण है कि मेरी आँखों पकड़ा गया proxy.global.backends तालिका में प्रविष्टियों के लिए विशेषताओं की सूची है। documentation सूचियों निम्न विशेषताओं:

dst.name 
dst.address 
dst.port 
connected_clients 
state 
type 

हालांकि, उदाहरण स्क्रिप्ट के कई एक काफी जटिल तत्व पूल कहा जाता है के संदर्भ हैं। उदाहरण के लिए tutorial-keepalive.lua लें:

local s = proxy.global.backends[i] 
local pool  = s.pool 
local cur_idle = pool.users[proxy.connection.client.username].cur_idle_connections 

पहले तो मैंने सोचा कि यह lua में कहीं और जोड़ा जा रहा था, लेकिन मैं देखा है और मैं proxy.global.backends [i] में बताए किसी भी कोड नहीं मिल रहा। पूल।

तो, दो सवाल मुझे लगता है:

  1. हूँ कि मैं पागल हो? कृपया यह दिखाने के लिए स्वतंत्र महसूस करें कि मैंने स्पष्ट रूप से अनदेखा कैसे किया है और दस्तावेज़ीकरण वास्तव में काफी स्पष्ट है।
  2. मान लिया जाये कि मैं सही हूँ, वहाँ कहीं भी पूरा प्रलेखन मिल रहा है? एक अच्छा लिंक बहुत अच्छा होगा (हालांकि मैं एक अप गूगल सकता है नहीं), लेकिन फिर भी "mysql-प्रॉक्सी distro है कि इंटरफेस को परिभाषित करता से इस ग फ़ाइल पर एक नज़र डालें"। कम से कम मुझे कुछ करने के लिए कुछ देना होगा।

धन्यवाद

उत्तर

1

बस प्रॉक्सी/लुआ अपने आप को खोला। मुझे डर है, जैसा कि सभी चीजों के साथ MySQL, एक बार जब आप कवर के नीचे डुबकी लेते हैं तो आप स्वयं ही होते हैं। LUA के लिए भी यही है। अपाचे Protable पुस्तकालय बाइंडिंग के लिए http://peterodding.com/code/lua/apr/docs/#shared_memory ... मेरे समय की एक shedload बचाया: आप LUA करने के लिए अन्य एडऑन क्या आप क्या करना चाहते करने की आवश्यकता होगी, मेरा सुझाव चाहते हैं। MySql के आंतरिक भागों का सवाल है, तो आप शायद तेह सी स्रोत फ़ाइलों में देखने के लिए, दुर्भाग्य से, जरूरत के रूप में हम यहाँ बेरोज़गार क्षेत्र में कर रहे हैं होगा।

एक बात मैं पाया है लुआ 'उपयोगकर्ता डेटा' है कि MySQL में LUA संरचनाओं लुआ टेबल नहीं हैं, लेकिन। इसका मतलब है कि वे प्रभावी रूप से स्मृति साझा कर रहे हैं, इसलिए लुआ द्वारा परिवर्तन योग्य नहीं हैं, क्योंकि माईस्क्ल भी उनका उपयोग करता है। मैं लुओपिक्स लाइब्रेरी को यह देखने के लिए जा रहा हूं कि मैं उन्हें प्राप्त कर सकता हूं, क्योंकि यदि संभव हो तो तत्व बदलना चाहते हैं।

गुड लक

[email protected]