श्रेणी: लेख

Zend फ्रेमवर्क के लिए / OAuth चहचहाना Auth एडाप्टर

, शनिवार 23rd अप्रैल 2011 03:57 बजे

मेरी नई पर काम जारी है (धीरे ​​) चहचहाना आधारित अनुप्रयोग . बैंक छुट्टियों के अगले दो से अधिक मैं इस परियोजना पर फिर से जा गति (में वर्तमान में अद्भुत मौसम के बावजूद) प्राप्त की उम्मीद है. वैसे भी, मेरा अगला काम के लिए एडाप्टर के लिए एक प्रमाणीकरण Zend फ्रेमवर्क बनाने के लिए किया गया . मैं एक काम लॉगिन कार्यान्वयन था, लेकिन Auth एडाप्टर के लिए Zend फ्रेमवर्क में एक बूंद होने के एक आकर्षक प्रस्ताव की तरह लग रहा था, इसलिए मैंने इसे बनाया ....

(मैं के माध्यम से जाना नहीं जा रहा हूँ OAuth या चहचहाना के साथ अपने आवेदन दर्ज गाइड के सैकड़ों और किसी भी तरह अपनी एक काफी सरल प्रक्रिया है .)
जारी रखें पढ़ने 'OAuth / Zend फ्रेमवर्क के लिए चहचहाना Auth एडाप्टर' »

Zend फ्रेमवर्क का उपयोग कर चहचहाना के साथ में साइन इन करें

द्वारा , गुरुवार 17th मार्च 2011 01:07 हूँ

सब होने के बावजूद चहचहाना नफरत पल में, मैं के लिए एक नई चहचहाना अनुप्रयोग आधारित बनाने के लिए बाहर सेट है. कोई है जो कई खातों के प्रबंधन (दोनों व्यक्तिगत और अपने दान के काम के लिए) मैं कुछ समय के लिए किया गया है एक उपकरण की जरूरत है कि मैं सिर्फ लिखने के लिए कर रहा हूँ चारों ओर हो रही (है कि निकट भविष्य में और अधिक ...) होने के नाते.

मैं पढ़ा है Zend_Oauth_Consumer और इसे का उपयोग कर चहचहाना के साथ बातचीत के लिए प्राधिकरण पाने के लिए इस्तेमाल किया जा सकता है OAuth. सभी अच्छी तरह से और अच्छा है, मैं अपना एक्सेस कुंजी है और मैं ख़ुशी से दूर एक उपयोगकर्ता की ओर से पोस्ट कर सकते हैं. संसाधनों का बहुत वहाँ से बाहर यह करने के लिए तो मैं बोर लोगों को नहीं होगा.

अगले कदम के लिए लोगों को वेबसाइट पर लौटने के लिए अनुमति था, में प्रवेश करें और अपने खाते को संशोधित. यह वह जगह है जहाँ मैं एक मामूली समस्या तक पहुँच है. वेबसाइटों पर कोड उदाहरण का उपयोग का मतलब है कि मैं चहचहाना पहुँच प्राधिकरण के लिए चाहते हैं मुझे फिर प्रत्येक प्रवेश के लिए, पूछ अच्छा नहीं है. मैं जो कुछ भी मुझे सिर्फ प्रमाणीकरण अनुरोध करने के लिए अनुमति होगी नहीं देख सकता ढांचे के माध्यम से स्कैन. यह वहाँ नहीं अपने कहते हैं, नहीं है, लेकिन वहाँ के लिए एक प्रमाणीकरण तंत्र है कि पहले से ही पहुँच टोकन जानने के बिना लागू किया जा सकता है होना प्रतीत नहीं किया था.

विकल्प के लिए साइट आधारित एक लॉग में या किसी भी तरह ग्राहक (कोर्स के एन्क्रिप्टेड) ​​पर उपयोगकर्ता की पहुँच टोकन की दुकान को लागू किया गया. इनमें से न तो एक अच्छा / उपयुक्त समाधान की तरह लग रहा था.

"चहचहाना के साथ में साइन इन करें" Zend फ्रेमवर्क का उपयोग कर पढ़ने जारी रखें »

Zend प्रमाणित (ZCE) इंजीनियर 5.3

, गुरुवार 30 सितंबर 2010 9:00 बजे

मैं के साथ आधिकारिक रिलीज 5.3 के लिए Zend प्रमाणित अभियंता (ZCE) कार्यक्रम के बारे में सोचा मैं मेरी क्या मैं परीक्षा के बारे में सोचा जल्दी छाप देना चाहते हैं.

खुद पर एक छोटी सी पृष्ठभूमि: मैं पहली बार पेश किया गया था PHP के बारे में 7 साल पहले और PHP में पेशेवर 2006 के बाद से काम किया . मैं वर्तमान में एक शुरू हुआ रोमांचक बुलाया Brightpearl के लिए काम में आधारित ब्रिस्टल, ब्रिटेन, एकीकृत सीआरएम, लेखा, और ecommerce सॉफ़्टवेयर का निर्माण. मैं पिछले ZCE योग्यता के पहले किसी भी प्राप्त नहीं है. मैं वर्तमान में 5.2.X श्रृंखला में विकसित और विशिष्ट 5.3 विशेषताएं (के लिए मैं इंतज़ार कर रहा हूँ के किसी भी वास्तव में इस्तेमाल नहीं किया Zend फ्रेमवर्क 2 और सिद्धांत अपनी विकास परियोजनाओं में 2) .
जारी रखें पढ़ने 'Zend प्रमाणित अभियंता (ZCE) 5.3' »

त्वरित आरंभ Symfony डि (निर्भरता इंजेक्शन) ट्यूटोरियल

, शनिवार 14 अगस्त 2010 02:21 बजे

क्या क्या है निर्भरता इंजेक्शन (डि) ?

निर्भरता इंजेक्शन एक तकनीक है कि एक सॉफ्टवेयर अनुप्रयोग के भीतर शिथिल युग्मित वस्तुओं के लिए अनुमति देता है है. आम तौर पर अगर किसी ऑब्जेक्ट के लिए यह आंतरिक कसकर युग्मित सिस्टम के लिए अग्रणी instantiated होगा दूसरे की कार्यक्षमता के लिए उपयोग की आवश्यकता है. निर्भरता इंजेक्शन को लागू करने से हम उपयोग के लिए आवश्यक तैयार वस्तुओं (- आईओसी कभी कभी भी नियंत्रण उलटा कहा जाता है) इंजेक्षन. निम्न उदाहरण लें:

  <Php?
 वर्ग DecisionMaker {
     सार्वजनिक समारोह makeDecision ($ सरणी पैरामीटर) {
         / / डेटाबेस एडाप्टर की आवश्यकता
         डी पी = नए (DecisionParameters) $;
         $ ParameterScore = $ DP-> getScore ($ पैरामीटर);
         / * ...  कुछ अधिक निर्णय तर्क ...  * /
         वापसी ($ parameterScore> 50);
     }
 } 

कोड के इस टुकड़े को कसकर DecisionParameters वस्तु के लिए युग्मित किया जा कहा है. एक शिथिल युग्मित फैशन में ऊपर पुनर्लेखन हम कुछ की तरह होता ....

  <Php?
 वर्ग DecisionMaker {
     निजी $ _dp;
     सार्वजनिक समारोह __construct ($ डी पी) {
         $ इस -> _dp = डी पी $;
     }
     सार्वजनिक समारोह makeDecision ($ सरणी पैरामीटर) {
         $ ParameterScore = $ इस -> _dp> getScore ($ पैरामीटर);
         / * ...  कुछ अधिक निर्णय तर्क ...  * /
         वापसी ($ parameterScore> 50);
     }
 } 

Whilst हम ऐसी है कि हर बार एक वस्तु instantiated है हम भी अपनी निर्भरता इन्स्तांत और में ये भी पारित किया है जटिलता जोड़ रहे हैं शिथिल युग्मित कोड का लाभ पाने. उदाहरण के लिए, इस:

  $ पसंद = नए DecisionMaker ();
 गूंज $ पसंद -> makeDecision (सरणी ('प्रयास' => 'कम', 'वापसी' => 'उच्च')); 

अब बन जाता है:

  डी पी = नए (DecisionParameters) $;
 $ पसंद = नए DecisionMaker ($ डी पी);
 गूंज $ पसंद -> makeDecision (सरणी ('प्रयास' => 'कम', 'वापसी' => 'उच्च')); 

इस स्थिति में एक वर्ग के लिए निर्भरता की संख्या बढ़ जाती है के रूप में और अधिक दर्दनाक हो जाता है, और क्या अगर निर्भरता खुद निर्भरता है? यह बहुत जल्दी से एक वस्तु प्रशासन दुःस्वप्न बन सकता है! निर्भरता इंजेक्शन कंटेनर (या चौखटे) दर्ज करें ...
पढ़ने 'क्विक स्टा Symfony डि (निर्भरता इंजेक्शन) ट्यूटोरियल' जारी रखें »

नंगे Zend_Layout और Zend_View

, मंगलवार 10 अगस्त 2010 11:47 बजे

इस लेख में मैं एक सरल सामने नियंत्रक के साथ Zend_Layout और Zend_View का उपयोग करने के लिए दिखाने के लिए कि यह कैसे संभव है व्यापार और आपके आवेदन के भीतर तर्क प्रस्तुति को अलग करने शुरू में लग रही हो. सभी कोड github पर उपलब्ध है:
नग्न और GitHub पर Zend_Layout Zend_View .

जारी रखें पढ़ने 'नग्न Zend_Layout और Zend_View' »

मॉड्यूल लेआउट सेटिंग्स के प्रति Zend फ्रेमवर्क - अप का पालन करें

, मंगलवार 16 फ़रवरी 2010 08:48 बजे

के रूप में एक मेरे पिछले पोस्ट पर प्रति मॉड्यूल आधारित लेआउट सेटिंग्स के लिए Zend फ्रेमवर्क का पालन करने के लिए, मैं की आवश्यकता के लिए कोड को नवीनीकृत किया है तो कम से पहले विन्यास (नहीं है कि यह आवश्यक है कि आपके आवेदन विन्यास में कुछ लाइनें!).
जारी रखें पढ़ने 'मॉड्यूल लेआउट सेटिंग्स के प्रति Zend फ्रेमवर्क - अप का पालन करें' »

Zend कस्टम दृश्य हेल्पर में URL बनाना

, गुरुवार 28 जनवरी 2010 11:01 बजे

यह आसान लग सकता है, लेकिन मैं मेरे सिर पीटने में एक कस्टम दृश्य सहायक में एक URL बनाने की कोशिश कर Zend फ्रेमवर्क. मैं सेटअप है जो उपयोग में उप डोमेन से मॉड्यूल हो जाता है तो मैं एक साधारण hardcoded यूआरएल का उपयोग नहीं कर सका मार्ग है.

जारी रखें पढ़ने 'Zend कस्टम दृश्य हेल्पर में बनाना यूआरएल' »

कस्टम नियंत्रक / कार्रवाई करने के लिए sitemap.xml के लिए रूट अनुरोध

, बुधवार, 6 जनवरी 2010 12:13 रहा हूँ

बस अपने application.ini या वैकल्पिक config फाइल में / के लिए सीधे अनुरोध करने के क्रम में sitemap.xml एक कस्टम और अपने में नियंत्रक कार्रवाई करने के लिए Zend फ्रेमवर्क आवेदन निम्नलिखित जोड़ने के लिए (जैसे मैं navigation.ini उपयोग ):

 resources.router.routes.sitemap.route = "sitemap.xml"
 resources.router.routes.sitemap.defaults.controller = सूचकांक
 resources.router.routes.sitemap.defaults.action = साइटमैप

Outputting के लिए उदाहरण कोड उपयुक्त नियंत्रक (जैसे मेरे साइटमैप सूचकांक नियंत्रक, साइटमैप कार्रवाई में निहित है) में एक कार्रवाई बनाने के द्वारा देखा जा सकता है:

 < php
 वर्ग IndexController
     Zend_Controller_Action फैली
 {
     / **
      * एक Zend_Navigation सेटअप के आधार पर साइटमैप Renders
      * /
     सार्वजनिक समारोह (sitemapAction)
     {
    	 गूंज $ इस -> दृश्य> नेविगेशन () -> (साइटमैप);
    	 $ इस -> दृश्य -> ​​लेआउट () -> disableLayout ();
    	 $ इस -> _helper> viewRenderer> setNoRender (सच);
     }
 }

साइटमैप जल्दी और आसानी से का उपयोग करके उत्पन्न किया जा सकता Zend_Navigation, एक महान जल्दी ट्यूटोरियल (और आमतौर पर बहुत Zend फ्रेमवर्क ट्यूटोरियल के लिए उपयोगी ) Zend डाले - गतिशील मेनू एक साइटमैप और breadcrumbs बनाने.

कार्यालय ग्रिड आभासी वातावरण का उपयोग कम्प्यूटिंग - भाग 4

, शुक्रवार 4 दिसम्बर 2009 11:59 बजे

परिचय

मैं एक कंपनी में जहाँ हम कई बैच प्रसंस्करण नौकरियों डेटा के अभिलेखों का लाखों प्रत्येक दिन चलाने के लिए और मैं सभी मशीनों है कि प्रत्येक के आसपास बैठते हैं और हर दिन कई घंटे के लिए कुछ नहीं कर रही के बारे में किया गया है हाल ही में सोच काम करते हैं. यह अच्छा नहीं होगा अगर हम उन मशीनों का उपयोग करने के लिए हमारे सिस्टम के प्रसंस्करण शक्ति सिलेंडर सकता है? लेख के इस सेट में मैं एक कार्यालय रोजगार के संभावित लाभ को देखने जा रहा हूँ ग्रिड virtualised वातावरण का उपयोग .

इन भाग 3 हम हमारे आभासी प्रसंस्करण मशीन बनाया और स्थापित खिड़कियां मशीनों के लिए निष्क्रिय समय श्रमिकों बनने .

नवीनतम कोड रनिंग

अनिवार्य रूप से अपने कार्यकर्ताओं व्यवसाय तर्क बनाने के बाद बदल जाएगा, कीड़े मिल जाएगा, तेजी से और अधिक कुशल कोड इस तरह छोड़ने के अपने कर्मचारियों का उपयोग कर डेटा के प्रसंस्करण के आसपास बैठे उत्पादन किया जाएगा पुराने बदबूदार कोड. तो हम कैसे सुनिश्चित करना है कि हम हमेशा हमारे प्रसंस्करण लिपियों के और सबसे नवीनतम संस्करण का उपयोग कर रहे हैं?

वहाँ कुछ बहुत आसान सरल तरीके से हम यह कर सकता है, चाल, तथापि, इस को प्राप्त करने में प्रसंस्करण शक्ति और नेटवर्क यातायात को कम करने के लिए है. सरल समाधान के साथ शुरू और इसे पुनरावृत्तियों के एक जोड़े पर धीरे धीरे सुधार चलो.

पहली विधि के लिए बस हमारे काम पर नियंत्रण सर्वर (साम्बा, FTP, या इसी तरह के माध्यम से) से कनेक्ट करने और नीचे कोड के नवीनतम संस्करण खींच होगा. कुशल नहीं, बहुत है, लेकिन यह काम करना होगा. चलो पर सुधार है कि कुछ हद तक, एक rsync स्क्रिप्ट बनाने और है कि प्रत्येक समय के बजाय का उपयोग करने के बारे में कैसे? वैकल्पिक रूप से तोड़फोड़ बाहर कोड की जाँच शुरू में हमारे नवीनतम प्रसंस्करण स्क्रिप्ट डालने और फिर बस प्रत्येक रन (पर हमारे कोड को अद्यतन करने svn अद्यतन के बारे में) क्या?

अंत में हम एक bash स्क्रिप्ट (हर 10 मिनट क्रॉन द्वारा कहा जाता है) जो के रूप में इस के रूप में सरल लग रहा है के साथ खत्म हो सकता है:

  # / Bin / श
 यदि पी एस कुल्हाड़ी | grep grep-v | grep php > / dev / बातिल
 फिर
     गूंज "नौकरी वर्तमान में, बाहर निकलें प्रसंस्करण है"
 अन्य
     गूंज "नौकरी नहीं चल रहा है, अब शुरू"
     सीडी पथ / / / / कॉपी काम
     svn अद्यतन
     php yourJobProcessingScript.php
 इंटरनेट 

अब हम सुनिश्चित करें कि प्रत्येक रन के साथ हम निश्चित रूप से नवीनतम कोड चला रहे हैं हो सकता है. हम हमारे कोड बेस प्रत्येक और हर बार हम एक रन प्रदर्शन अद्यतन और केवल हमारे नेटवर्क भर में फ़ाइल मतभेद के हस्तांतरण से नेटवर्क यातायात को कम करने के द्वारा यह सुनिश्चित करना है कर रहे हैं.

मेरे प्रदर्शन सेटअप में, मैं बिल्कुल के रूप में ऊपर था. तोड़फोड़ मेरी नौकरी प्रसंस्करण सर्वर पर स्थापित किया गया था और मैं बस एक 'कार्यकर्ता' शाखा 'svn अद्यतन' का उपयोग कर से नवीनतम कोड खींच लिया. मैं भी मेरे प्रसंस्करण स्क्रिप्ट जो परिणाम देते हैं के हिस्से के रूप में डेटाबेस के लिए लौट रहा था एक संस्करण संख्या टैग गयी. इस तरह मैं देख सकता था कि मेरे कोड हर बार जब मैं कार्यकर्ता शाखा यानी में मेरी ट्रंक की नकल की है कि मैं निश्चित रूप से नवीनतम प्रसंस्करण स्क्रिप्ट चल रहा था अद्यतन किया जा रहा था.

नवीनतम डेटा का उपयोग करना

यदि आपकी नौकरी प्रसंस्करण डेटा स्रोतों का उपयोग तो करता है कुछ बिंदु पर इन को भी अद्यतन किया जा जा रहे हैं. जब तक आप एक बहुत ही निराला है आप यातायात के साथ अपने नेटवर्क के रूप में जल्द ही बाढ़ के रूप में अपने कर्मचारियों को शुरू एक ठहराव के लिए सब कुछ लाने के लिए जा रहे हैं के आधार पर अपने डेटा स्रोतों फोन. मैं अपने समाधान के लिए फैसला किया है कि मैं मेरे डेटा स्रोत को अपने वी एम एस के साथ चारों ओर स्थानांतरित करना चाहते हैं.

पकड़ो तुम वहाँ घोड़ों रहे हैं क्या होगा यदि मेरे डेटा स्रोत विशाल कर रहे हैं !? खैर यह वास्तव में कितना डेटा हम बात कर रहे हैं का एक मामला है? यह और अधिक लागत प्रभावी प्रत्येक मशीन में एक अतिरिक्त बड़ा हार्ड ड्राइव को स्थापित करने की तुलना में एक अतिरिक्त संसाधन सर्वर खरीद करने के लिए हो सकता है. यह बजट का एक सवाल है और तय व्यापार पर निर्भर है. यह हो सकता है कि आपके डेटा स्रोत इतनी बड़ी हैं कि अपनी बस अपने कार्यकर्ता मशीनों में डेटा की है कि राशि रखने के लिए unfeasible है. उस मामले में आप क्या करना चाहते हैं? खैर, हम एक स्थानीय डेटा सर्वर बुला देखो सकता है, लेकिन इस नेटवर्क के साथ मुद्दों का कारण हो सकता है. इस मामले में इस तरह के रूप में एक ग्रिड प्रणाली अपने कार्यालय वातावरण में शामिल करने के लिए अवास्तविक हो सकता है. यह भी हो सकता है कि आप वैकल्पिक चल रणनीतियों में देखो, उदाहरण के लिए केवल 8:00 और 6:00 हर रात और / या थ्रॉटलिंग डेटा स्रोत अनुरोध के बीच अपने कर्मचारियों को बुला कर सकते हैं हो सकता है.

आगे बढ़ते देता है 100Gb डेटा के लिए हमारे डेटा स्रोतों राशि कहना. वैसे, हाँ है कि डेटा की काफी एक बिट के लिए एक अद्यतन के नेटवर्क पर कदम के आसपास है. हम यह कैसे सुनिश्चित है कि हम इस मामले में डेटा का नवीनतम नकल है? Rsync एक संभावना है, लेकिन व्यक्तिगत तौर पर मुझे लगता है कि अपनी नौकरी प्रसंस्करण सर्वर पर अपने नवीनतम डेटा स्रोत चल रहा है और इस प्रतिकृति (एक अच्छा समय बिन लॉग के साथ) में एक मास्टर के रूप में स्थापित कर जाने के लिए रास्ता हो सकता है:

प्रतिकृति अपने कार्यकर्ताओं में से प्रत्येक के एक दास के रूप में स्थापित करने के काम पर नियंत्रण सर्वर अद्यतन अपने डेटा स्रोतों से नीचे अच्छी तरह से अपने कार्यकर्ताओं को मिलने नेटवर्क गतिविधि में एक भारी वृद्धि के बिना (वह यह है कि जब तक आप एक बड़ा डेटा अद्यतन करते हैं और अपने सभी कार्यकर्ताओं में लात एक ही बार में). डेटाबेस अद्यतन के रूप में, यह rsync के प्रयोग से अधिक लाभ है कि आप हर काम से पहले एक लंबा ठहराव नहीं मिलेगा mysql अपने कार्यकर्ता पर डेमॉन लगातार अपने डेटा अद्यतन जबकि प्रसंस्करण जारी है.

यह कैसे मैं अपने प्रदर्शन सर्वर की स्थापना की. प्रतिकृति सेट मैं MySQL साइट पर गाइड ( बाद प्रतिकृति स्थापना ) और 20 मिनट के भीतर मैं मेरी inital नौकरी नियंत्रण सर्वर डाटासेट नकल कार्यकर्ता था. प्रत्येक अतिरिक्त कार्यकर्ता के लिए प्रतिकृति सेटिंग्स और प्रक्रिया हर बार काम किया जब वी एम नकल की थी.

सारांश

लेख के इस खंड में हम कितना आसान है और पीड़ारहित अपने प्रसंस्करण कोड रखने rsync using या subverion (SVN) द्वारा तिथि करने के लिए काम करते हैं और उसी time. में नेटवर्क यातायात को कम है पर ध्यान दिया है हम भी कैसे चर्चा की यह नीचे अपने कार्यकर्ताओं में से प्रत्येक के लिए मिलने के लिए अनुमति देकर अपने डेटा स्रोत से अप करने की तारीख जानकारी रखने के लिए. इस प्रकार हम क्षेत्र सुनिश्चित करना है कि हम व्यापार और हमारे कार्यालय ग्रिड प्रणाली में तर्क जानकारी के साथ रखने के. वहाँ स्पष्ट रूप से इन कार्यों का प्रदर्शन करने के लिए अनगिनत विकल्प हो जाएगा, लेकिन यहाँ दो सरल उदाहरण को दिखाने के लिए कैसे एक आसान समाधान के लिए आ रहा है.

अगली बार

इस श्रृंखला, aptly नाम के अंतिम भाग में भाग 5 , हम के लिए इस प्रणाली की तैनाती पर चर्चा करेंगे. मैं क्या सीखा गया है संक्षेप में प्रस्तुत करना है और मैं क्या बनाने में कामयाब हूँ.

कार्यालय ग्रिड आभासी वातावरण का उपयोग कम्प्यूटिंग - भाग 3

, शुक्रवार 4 दिसंबर, 2009 11:37 बजे

परिचय

मैं एक कंपनी में जहाँ हम कई बैच प्रसंस्करण नौकरियों डेटा के अभिलेखों का लाखों प्रत्येक दिन चलाने के लिए और मैं सभी मशीनों है कि प्रत्येक के आसपास बैठते हैं और हर दिन कई घंटे के लिए कुछ नहीं कर रही के बारे में किया गया है हाल ही में सोच काम करते हैं. यह अच्छा नहीं होगा अगर हम उन मशीनों का उपयोग करने के लिए हमारे सिस्टम के प्रसंस्करण शक्ति सिलेंडर सकता है? लेख के इस सेट में मैं एक कार्यालय रोजगार के संभावित लाभ को देखने जा रहा हूँ ग्रिड virtualised वातावरण का उपयोग .

भाग 2 हम एक सर्वर चलेंगे नौकरियों पर देखा, और नौकरियों सुनिश्चित करना है कि प्रत्येक नौकरी के बिना असफल हो संसाधित है whilst प्रसंस्करण की सबसे बड़ी राशि प्राप्त करने के क्रम में कैसे कॉन्फ़िगर किया जाना चाहिए.

अपने कार्यकर्ता की स्थापना या लंगड़ा सर्वर

प्रक्रिया में अगला कदम अपने आभासी कार्यकर्ताओं सेट है. इस के लिए मैं VirtualBox का उपयोग CentOS के एक अधिष्ठापन का उपयोग करने के लिए जा रहा हूँ. मैं स्थापित करने के लिए जा रहा हूँ MySQL और PHP सर्वर भी एक लंगड़ा (ली nux, मीटर ySQL, पी हिमाचल प्रदेश) Server (मैं बना दिया है कि नाम हो सकता है) के रूप में जाना जाता है पर.

  • अपने विंडोज़ मशीन पर VirtualBox स्थापित (लिंक का अनुसरण करें)
  • डाउनलोड करें और एक बनाया आभासी मशीन के भीतर CentOS (वर्तमान संस्करण 5.3) स्थापित

वहाँ कोई मतलब नहीं है मुझे इस के लिए जा रहा है वहाँ शायद 1000 'वहाँ से बाहर महान ट्यूटोरियल के (ठीक है, यहाँ एक है: बनाना और VirtualBox के तहत Managing CentOS आभासी मशीन ). महत्वपूर्ण बिंदु है ध्यान दें करने के लिए मुझे लगता है कि मैं अपने वर्चुअल मशीन GridMachine बुलाया.

जहाँ तक वर्चुअलाइजेशन ग्राहक और ऑपरेटिंग सिस्टम के मेरे विकल्प के रूप में जाना वहाँ प्रत्येक विकल्प के लिए कोई बड़ा सम्मोहक कारण है. VirtualBox के कुछ मैं मेरे घर मशीन पर उपयोग और तीन प्रमुख ऑपरेटिंग सिस्टम के द्वारा समर्थित है. मैं इसकी एक अच्छी स्थिर ओएस के रूप में CentOS चुना है और मैं इसे अपने स्वयं के वेब सर्वर पर उपयोग. मैं काम के लिए सही उपकरण में एक महान विश्वास रखता हूँ (हालांकि मैं आवेदन कर रहा हूँ मानसिकता यहाँ आप के लिए तेज और आसान का उपयोग करें '), तो अगर ऑपरेटिंग सिस्टम एक्स अपने कोड तेज चलाता है और अधिक कुशलता से कि बजाय का उपयोग करें :)

महत्वपूर्ण बात यह सुनिश्चित करें कि आपके VM DHCP का उपयोग करता है, अन्यथा प्रत्येक नए आभासी मशीन के लिए अलग से विन्यस्त किया जा जो कुछ हम want.By DHCP का उपयोग नहीं कर हम व्यक्तिगत कार्यकर्ता मशीनों के लिए नेटवर्क सेटिंग्स कॉन्फ़िगर की जरूरत नहीं है की आवश्यकता होगी, तो DHCP हाथ में कर देगा आप के लिए बाहर आईपी. इसलिए आप हर एक की स्थापना (इस scalability के सुधार और कार्यकर्ता प्रशासन को कम कर देता है) के बारे में चिंता किए बिना अपने कार्यालय के बारे में वर्चुअल मशीन की नकल कर सकते हैं.

प्रक्रिया में आप को प्राप्त करने के उद्देश्य होना चाहिए एक नए भौतिक मशीन प्राप्त करने के लिए, VirtualBox स्थापित, और तब बहुत ज्यादा बहुत कुछ बिना आभासी छवि की तैनाती होगी. यह एक अलग सबनेट पर अपने सभी कार्यकर्ताओं का सेटअप इतना है कि आप कम से कम देखने के लिए कितने मशीनों चल रहे हैं कर सकते हैं बुद्धिमान हो सकता है. तुम भी एक लंबे पट्टे या असीमित पट्टा DHCP पर अपने मशीन को सेट करने की आवश्यकता होगी.

कैसे कार्यकर्ता पर नौकरियां चलाने के लिए

यह एक दिलचस्प क्षेत्र है और वहाँ कई कार्यकर्ता पर नौकरियों प्रसंस्करण के लिए वैध तरीके हैं. यहाँ मैं सिर्फ दो सबसे स्पष्ट चर्चा करेंगे:

  • सदा स्क्रिप्ट चलाने: एक स्क्रिप्ट, यह एक खोल स्क्रिप्ट हो सकता है, या एक PHP स्क्रिप्ट एक बार कार्यकर्ता पर मार डाला है और एक अनंत लूप के भाग के रूप में चलाता है. मैं स्क्रिप्ट का एक दुर्घटना के रूप में इस विधि को रियायती है और संभवतः अपने कार्यकर्ताओं के हस्तक्षेप के कुछ प्रकार के बिना चलाने के लिए संघर्ष करेंगे.
  • Cron आधारित स्क्रिप्ट निष्पादन: हर एक्स मिनट क्रॉन डेमॉन बंद अपनी स्क्रिप्ट के लिए एक कॉल करने के लिए बातें जा पाने के kicks. कुछ जाँच के बिना अपने कार्यकर्ता स्क्रिप्ट चलाने के कई कई प्रतियां ले सकता है.

मेरा फैसला क्रॉन जो दूर हर 10 minutes. एक खोल स्क्रिप्ट kicks मेरा खोल स्क्रिप्ट निम्नलिखित कार्य करता है के साथ जाना था:

  1. एक प्रक्रिया की सूची जाओ और 'php' के लिए इस grep. अगर नहीं मिला तो जारी है.
  2. अपनी नौकरी कोड को बुलाओ, मेरे मामले में यह कुछ आधारित PHP होगा
  3. कार्यकर्ता स्क्रिप्ट अपनी दौड़ पूरी
  4. अगले उपयुक्त फोन पर फिर से जाने के लिए तैयार

मेरा bash स्क्रिप्ट निम्नलिखित की तरह कुछ दिखता है:

  # / Bin / श
 यदि पी एस कुल्हाड़ी | grep grep-v | grep php> / dev / बातिल
 फिर
     गूंज "नौकरी वर्तमान में, बाहर निकलें प्रसंस्करण है"
 अन्य
     गूंज "नौकरी नहीं चल रहा है, अब शुरू"
     php yourJobProcessingScript.php
 इंटरनेट 

नोट: गूंज लगभग पूरी तरह से बेकार हैं, लेकिन अगले व्यक्ति है जो साथ आता है के लिए प्रयास करें और उन्हें संपादित मदद कर सकते हैं.

यही कार्यकर्ता आभासी मशीन के लिए, जल्दी, सरल है, और हार्डवेयर के प्रत्येक नए टुकड़ा है कि प्राप्त है को कॉपी करने के लिए आसान सेट अप निष्कर्ष निकाला है. ग्रिड प्रणाली के 'चतुराई' वास्तव में कल्पना ओएस में नहीं है अपने रोजगार, नौकरी, विन्यास, और सुनिश्चित करने कि नौकरी जब उचित रन (यानी में जब मेजबान बेकार है की प्रक्रिया बनाया कोड के साथ क्या करने के लिए सभी ).

विंडोज के लिए श्रमिक initialise स्थापना

पहला काम करने के लिए आदेश खिड़कियां कमांड लाइन से आभासी मशीन चलाने के लिए आवश्यक काम है. यदि आप डिफ़ॉल्ट स्थान में VirtualBox स्थापित किया है और आप अपने कार्यकर्ता GridMachine नाम है, तो आदेश करने के लिए लोड करने के लिए अपने कार्यकर्ता है की आवश्यकता:

  "C: \ Program Files \ रवि VirtualBox \ \ VBoxManage.exe" startvm GridMachine 

हालांकि एक 'नेतृत्वहीन' राज्य हम उपयोग करने के लिए की जरूरत में स्क्रिप्ट चलाने के लिए:

  "C: \ Program Files \ रवि VirtualBox \ \ VBoxHeadless.exe startvm GridMachine - vrdp = बंद 

इस GUI के बिना आभासी मशीन शुरू और यह राज्य इनायत बचाने के लिए अनुमति देगा. दूसरा तर्क बंद हो जाती है RDP तो यह खिड़कियों RDP के साथ संघर्ष नहीं है, या आप के बारे में 3389 बंदरगाह पर सुन एक संदेश देना वर्चुअल मशीन का नाम केस संवेदी है.!

अगला, हम खिड़कियों सेट अप के लिए रवाना हमारे कार्यकर्ता VM लात एक बार मशीन निष्क्रिय किया गया है की आवश्यकता होगी. > सभी प्रोग्राम - सहायक उपकरण> -> सिस्टम उपकरण - आप (Windows XP पर) शुरू करने के लिए जाने की आवश्यकता होगी नीचे के रूप में अनुसूचित कार्य:

अनुसूचित कार्य

अगले एक कस्टम प्रोग्राम जोड़ने के लिए ब्राउज़ द्वारा पीछा 'अनुसूचित टास्क जोड़ें' पर क्लिक करें. अपनी VBoxManage स्क्रिप्ट के लिए नेविगेट करें और ठीक क्लिक करें. विकल्पों में से किसी के लिए अपना काम अनुसूची (हम एक मिनट में बदल देंगे) और जारी रखें. अगले स्क्रीन लंघन के बाद खिड़कियों आप से पूछना तुम जो इस कार्य को चलाना चाहते हैं, मैं या तो 'प्रशासक' या एक नई विशेषाधिकृत उपयोगकर्ता बनाने का सुझाव था. याद है हम किसी भी बिंदु पर मशीन पर मानक स्टाफ खाते के साथ हस्तक्षेप नहीं करना चाहती. अगले पर क्लिक करें और इस कार्य के लिए उन्नत विकल्प शो की जांच.

रन पाठ बॉक्स के अंत करने के लिए हमारे 'startvm GridMachine' स्ट्रिंग जोड़ने के लिए और सुनिश्चित चला है कि केवल जब में लॉग इन करने के लिए छोड़ दिया है unticked. अनुसूची कार्य अगले पर जाएँ और शेड्यूल बदलने के विकल्प के लिए ड्रॉप डाउन 'निष्क्रिय जब समय की राशि है जो आप मशीन अगले टैब पर जाने से पहले निष्क्रिय होने के लिए करना चाहते चुनने.

अंत में विकल्प है जो यदि यह समय की एक्स राशि से चल रहा है काम रोक राज्यों untick, लेकिन कार्य को रोकने के विकल्प टिकटिक अगर मशीन नहीं रह गया है बेकार.

अनुसूची

यही तो खिड़कियों मेजबान सेटअप के लिए!

सारांश

इस भाग में हम एक आभासी मशीन एक कार्यकर्ता के रूप में के रूप में अच्छी तरह से तरीका है जिसमें हम फोन और हमारा काम प्रसंस्करण स्क्रिप्ट निष्पादित (खुद के लिए एक PHP स्क्रिप्ट) के रूप में कार्य निर्धारित किया है. यहाँ से हम खिड़कियों के हमारे प्रतियां कोई मुखिया मोड में आभासी मशीन शुरू जब कंप्यूटर निष्क्रिय हो जाता है, और अपने राज्य को बचाने जब उपयोगकर्ता मशीन का उपयोग शुरू कैसे स्थापित करने के लिए देखो. आप उम्मीद है कि इस बिंदु पर देख रहे हैं कैसे आसान यह एक ऐसी प्रणाली की स्थापना कर रहे हैं और कुछ प्रयोगों अपने आप को जा रहा खुजली!

अगली बार

इन भाग 4 हम उपकरण का उपयोग करने के लिए सुनिश्चित करें कि आप कोड और डेटा स्रोतों के नवीनतम संस्करण चला रहे हैं इतना है कि प्राप्त परिणामों हमेशा नवीनतम व्यापार जानकारी और तर्क के साथ करने वाली तारीख में देख रहे होंगे .













पैनोरमा थीम द्वारा Themocracy

5 आगंतुकों ऑनलाइन अब
2 मेहमानों, 3 बॉट, 0 सदस्यों
06:09 am UTC पर 19: अधिकतम आज आगंतुकों
इस महीने: 19 UTC 19-08-2011 06:09 पर हूँ
इस वर्ष: 130 28-03-2011 10:40 बजे UTC
सभी समय: 28-03-2011 10:40 बजे UTC 130