मैं एक ऐसी प्रणाली को फिर से विकसित कर रहा हूं जो कई आपूर्तिकर्ताओं में से एक के लिए http के माध्यम से संदेश भेजेगा। मूल पर्ल स्क्रिप्ट है और यह संभावना है कि पुन: विकास पर्ल का भी उपयोग करेगा।कांटा या कांटा नहीं?
पुरानी प्रणाली में, प्रत्येक सप्लायर के लिए पांच, एक ही समय में चल रहे कई पर्ल स्क्रिप्ट थे। जब डेटाबेस में एक संदेश डाला गया था, तो यादृच्छिक थ्रेड नंबर (1-5) और आपूर्तिकर्ता को यह सुनिश्चित करने के लिए चुना गया था कि टेबल/पंक्ति को लॉक करने से बचने के दौरान दो बार कोई संदेश संसाधित नहीं किया गया था। इसके अतिरिक्त डेटाबेस में एक "फेयर कतार स्थिति" फ़ील्ड था ताकि यह सुनिश्चित किया जा सके कि एक बड़ा संदेश भेजने में देरी नहीं हुई है, जबकि बड़े व्यक्ति को भेजा जा रहा था।
कुछ समय में प्रति मिनट केवल कुछ संदेश होंगे, लेकिन दूसरी बार संभावित रूप से सैकड़ों हजारों संदेशों का डंप होगा। ऐसा लगता है कि संसाधनों की बर्बादी की तरह सभी स्क्रिप्ट चल रही हैं और हर समय संदेशों की जांच कर रही हैं, इसलिए यदि मैं इसे करने का बेहतर तरीका है, या यदि पुराना तरीका स्वीकार्य है तो मैं काम करने की कोशिश कर रहा हूं।
मेरे विचार अभी एक ऐसी स्क्रिप्ट रखने के विचार से झूठ बोलते हैं जो कितनी यातायात है, इस पर निर्भर करता है कि कितनी यातायात है, लेकिन मुझे यकीन नहीं है कि कितना सर्वोत्तम कार्यान्वित करना है ऐसा लगता है कि प्रत्येक संदेश को केवल एक बार संसाधित किया जाता है, जबकि उचित कतार बनाए रखा जाता है।
मेरा सबसे अच्छा अनुमान यह है कि मूल स्क्रिप्ट डीबी को अपडेट करती है यह इंगित करने के लिए कि कौन सी बाल प्रक्रिया को संभालना चाहिए, हालांकि मुझे चिंता है कि यह मूल विधि से कम कुशल होगा। मुझे फोर्किंग कोड लिखने का थोड़ा सा अनुभव है (पिछली बार मैंने लगभग 15 साल पहले किया था)।
संदेश कतारों को संसाधित करने के तरीके पर मार्गदर्शिकाओं के लिए कोई विचार या लिंक सराहना की!
क्या आपने वहां गियरमैन या किसी अन्य नौकरी सर्वर को देखा है? – jshy