2013-01-17 13 views
6

मेरे पास यह PHP स्क्रिप्ट है जिसे मुझे साझा वेबहोस्टिंग पर चलाने की आवश्यकता है। मैंने एक क्रॉन नौकरी बनाई है जो एक sh स्क्रिप्ट निष्पादित करता है। क्रॉन के लिए आदेश था:क्रॉन जॉब्स के लिए .sh स्क्रिप्ट में अच्छा आदेश

/bin/sh /home/user/script.sh

तो मैं यह बॉर्न शैल (या कुछ और संगत) है यह सोचते हैं रहा हूँ। स्क्रिप्ट ही था:

#!/bin/sh 
cd /home/user/public_html/folder/ 
#updating DB 
php -q ./run_interactive_job.php batch_control_files/updateDB 
echo Updated DB results 

मेरा प्रश्न है:
मैं php आदेश को अच्छा प्राथमिकताओं जोड़ सकते हैं? या मुझे क्रॉन कमांड पर स्क्रिप्ट में जोड़ने की ज़रूरत है। कौन सा काम करने की अधिक संभावना है?

nice 10 php -q ./run_interactive_job.php batch_control_files/updateDB

कि एक निम्न प्राथमिकता पर चल में सफल होगा।

पुनश्च: असल में, इस स्क्रिप्ट से पहले जब मैं यह ब्राउज़र के माध्यम से भाग गया और यह है कि सर्वर मेरे मेजबान फ़ाइल को अवरुद्ध में जिसके परिणामस्वरूप पर अपाचे प्रभावित सर्वर ओवरलोड हो गया है। मैंने बार-बार उन्हें विभिन्न मानकों के साथ परीक्षण करने के लिए अनवरोधित करने के लिए कहा है। और अब मैं उम्मीदों में कम प्राथमिकता पर क्रॉन के माध्यम से इसे चलाने की कोशिश कर रहा हूं कि यह अपाचे को प्रभावित नहीं करेगा। लेकिन मैं करते हैं, यह फिर से मुद्दों बनाने के लिए नहीं करना चाहता इसलिए मैं उपयोग करने के लिए कोशिश कर रहा हूँ अच्छा

किसी को भी किसी भी अन्य सुझाव है कि अपाचे या वेब सर्वर को प्रभावित किए बिना php स्क्रिप्ट चलाने की एक ऐसी ही समाधान की पेशकश करेगा है, वह भी है।

उत्तर

6

खोल स्क्रिप्ट छोड़ सकते हैं और उपयोग करने

* * * * * /usr/bin/nice -n 10 /path/php -q /path/script.php 

अच्छा और \ या php पथ

+0

मैं स्क्रिप्ट में अतिरिक्त आदेश भी जोड़ना चाहता हूं। मुझे कुछ और php चलाने से पहले कुछ और php स्क्रिप्ट चलाने और कुछ एसक्यूएल टेबल खाली करना होगा। – xlordvader

+0

जो सभी php के साथ किया जा सकता है –

2

मैं माफी चाहता मैं दो स्थानों पर इस प्रश्न पूछा के रूप में मैंने सोचा कि मैं wasn 'कर रहा हूँ की आवश्यकता नहीं हो सकता है या हो प्रतिक्रिया प्राप्त नहीं कर रहा हूँ। मैंने सुपरसुर से पूछा और मुझे एक जवाब मिला जो मेरी आवश्यकताओं के अनुरूप है।

@ डैगन - डैगन का उत्तर भी काम करता प्रतीत होता है और जब मैं इस समस्या को हल करता हूं तो मैं एक अद्यतन प्रदान करूंगा।

The same Question asked at Superuser - https://superuser.com/questions/537509 ...

अद्यतन: मैं वहाँ के रूप में दिखाया गया है बैच फ़ाइल का इस्तेमाल किया। मैंने बैच फ़ाइल के अंदर php से पहले अच्छा कमांड का उपयोग किया था। फर्क सिर्फ इतना है किया जा रहा है:

nice -n 10 php -q ./run_interactive_job.php batch_control_files/updateDB

मैं उन्हें करने के लिए एक ही अच्छा संपत्ति के साथ अतिरिक्त php स्क्रिप्ट को चलाने के लिए अधिक आदेशों गयी। वे सभी महान काम किया। इनपुट

0

किसी भी तरह से के लिए

सभी को धन्यवाद ठीक है। यदि आप क्रोन नौकरी में nice डालते हैं, तो यह पूरे काम की प्राथमिकता को प्रभावित करेगा; लेकिन चूंकि स्क्रिप्ट में केवल एक कमांड होता है जिसका प्राथमिकता वास्तव में सेट करने के लिए समझ में आता है, स्क्रिप्ट के अंदर इसे करने से अभ्यास में भी काम करता है।

संबंधित मुद्दे