2016-07-21 4 views
5

मुझे निष्पादित करने के लिए मेरी cron नौकरियां प्राप्त करने में परेशानी हो रही है।aws लोचदार beanstalk पर cron नौकरियां चल रहा है - django

सेटअप:

Django - 1.9

लचीला बीनस्टॉक - 64 बिट अमेज़न लिनक्स 2016.03 v2.1.3 अजगर 3.4 चल रहा

मैं कोशिश की है इस तरीके के एक जोड़े अब तक के प्रदर्शन:

  1. cron.yaml फ़ाइल का उपयोग करना: किसी और को स्पर्श नहीं किया - बस मेरे प्रोजेक्ट रूट फ़ोल्डर में cron.yaml फ़ाइल को जोड़ा गया

    
    version: 1 
    cron:
    - name: "test" url: "http://website.com/workers/test" schedule: "*/10 * * * *"
  2. एक कंटेनर आदेश और एक अलग cron.txt फ़ाइल का उपयोग करना:

जोड़ा गया मेरी .ebextensions में इस लाइन/development.config फ़ाइल

05_some_cron: 
    command: "cat .ebextensions/crontab.txt > /etc/cron.d/crontab && chmod 644 /etc/cron.d/crontab" 
    leader_only: true 

और .ebextensions में /crontab.txt

*/10 * * * * source /opt/python/run/venv/bin/activate && python mysite/manage.py test 

ऐप दोनों मामलों में सफलतापूर्वक तैनात है।

  1. मैन्युअल (एक ब्राउज़र में) http://website.com/workers/test के लिए जा रहा इच्छित परिणाम (पहले मामले में) है।
  2. प्रबंधन कमांड के रूप में source /opt/python/run/venv/bin/activate && python mysite/manage.py test जोड़ना तैनाती पर एक बार सही स्क्रिप्ट चलाता है।

लॉग उस यूआरएल पर कोई भी GETS नहीं दिखाते हैं।

मैं क्या गलत कर रहा हूं? क्या मुझे प्रक्रिया का कुछ कदम या ईबीएस पर कुछ सेटअप कदम याद आ रहा है?

ईबीएस पर होस्ट किए गए डीजेंगो अनुप्रयोगों के लिए क्रॉन नौकरियां चलाने का सबसे अच्छा तरीका क्या है? - Django क्षुधा प्रबंधन चला सकते हैं आदेश या तो प्रयास 2 में के रूप में या प्रयास में के रूप में एक GET या POST यूआरएल का विस्तार करके कमांड लाइन से 1.

+0

आप एक दिखाई दे रहा है है अपने क्रॉन लॉग में एनई अतिरिक्त जानकारी? –

+0

@ पीटर ब्रितन नोप - लॉग cron.yaml फ़ाइल –

+0

के बिना सामान्य तैनाती के समान हैं और आपने यह जांचने की कोशिश की है कि आपके आदेश चलने पर क्या होता है - जैसा कि http://stackoverflow.com/questions/4811738/ में वर्णित है क्रॉन नौकरी-लॉग-कैसे करने के लिए लॉग इन करें? ElasticBeanstalk में –

उत्तर

2

यह में मेरे लिए काम करता Django 1.10.6 + एडब्ल्यूएस ElasticBeanstalk + cronjob

* * * * * source /opt/python/run/venv/bin/activate && cd /opt/python/current/app/ && python manage.py do_your_thing > $HOME/cron-sqs.log 2>&1

do_your_thing एक management command

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