बूट समय पर MySQL स्टार्टअप के बाद एक नौकरी कैसे शुरू करें?


3

मेरा काम MySQL पर निर्भर है। इसलिए मैं चाहता हूं कि MySQL के बाद मेरा काम शुरू हो सके।

मैं ऊपर की रसोई की किताब पढ़ता हूँ और मुझे लगता है कि start onऑटो नौकरी शुरू कर सकता है।

start on started mysql

और यह काम करता है। लेकिन मैं नहीं चाहता कि mysql बूट के बाद मेरी नौकरी को प्रभावित करे। जब मैं अपनी नौकरी बंद कर दूंगा, तो यह mysql को पुनरारंभ करके फिर से शुरू हो जाएगा। इससे कैसे बचा जाए?

जवाबों:


1

/tmp/यह ट्रैक करने के लिए फ़ोल्डर में लॉक फ़ाइल बनाएं कि आपका काम पहले से ही चल रहा है। यहाँ एक उदाहरण है:

  1. इन दो अपस्टार्ट जॉब्स कॉन्फ़िगरेशन फ़ाइलों को बनाएँ:

    /etc/init/joba.conf

    # job A
    
    start on local-filesystems
    stop on runlevel[016]
    
    script
      /bin/echo job-A started >> /tmp/myjobs.log
      exec sleep 5
    end script
    

    /etc/init/jobb.conf

    # job B triggered after A
    
    start on started joba
    
    script
      /bin/echo job-B started >> /tmp/myjobs.log
      if ! [ -f /tmp/jobb.lock ]
      then
        /bin/echo " do job-B tasks" >> /tmp/myjobs.log
        /bin/touch /tmp/jobb.lock
      else
        /bin/echo " bypass job-B tasks"  >> /tmp/myjobs.log
      fi
      exec sleep 5
    end script
    
  2. रीबूट

  3. किसी अन्य विंडो में जांचें cat /tmp/myjobs.logया खोलें sudo tail -f /tmp/myjobs.log
  4. फिर से नौकरी-ए चलाने की कोशिश करें sudo start joba
  5. देखें /tmp/myjobs.log, बायपास नोट देखें:

    job-A started
    job-B started
     do job-B tasks
    job-B started
     bypass job-B tasks
    job-A started
    job-B started
    job-A started
     bypass job-B tasks
    

नोट: प्रत्येक रन के लिए, हमारे पास 3 लाइनें हैं। यहां लाइनों को छांटना मायने नहीं रखता। stdoutबफ़रिंग समस्या, यह upstart से संबंधित नहीं है। नौकरियों को सही क्रम में चलाया जाता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.