2010-10-01 11 views
5

मैं Herokuहेरोकू पर रेस्क्यू शेड्यूलर ... इसे दूरस्थ रूप से करें?

पर मेरे एप्लिकेशन में Resque-Scheduler जोड़ रहा तो ... मैं अकेला एक और विशिष्ट कार्यकर्ता अनुसूचक के रूप में अभिनय और कई नौकरियों कर की जरूरत है।

यह मैं इसे कैसे किया है है:
मैं एक अलग Heroku अनुप्रयोग जो कुछ नहीं करता है, लेकिन 1 resque-अनुसूचक कार्यकर्ता है, 24/7 चल रहा है, के Redis डीबी को Resque कार्यों जोड़ने " दूर "मुख्य ऐप।

(: काम कार्य को resque: अनुसूचक या resque: मुझे लगता है कि मानचित्रण काम करने काम)

Heroku के मंच पर यह करने के लिए यह सबसे अच्छा तरीका है; या मैं इसे पूरी तरह से गलत कर रहा हूँ?

धन्यवाद!

संपादित करें: Heroku पर निर्धारण के लिए न्यूनतम एप्लिकेशन: http://github.com/clmntlxndr/heroku-scheduler

अद्यतन: Heroku और Procfiles पर नए CEDAR ढेर के साथ, यह प्रत्येक कार्यकर्ता के लिए एक अलग काम शुरू करने के लिए संभव है।

web:  bundle exec rails server -p $PORT 
scheduler: bundle exec rake resque:scheduler 
worker:  bundle exec rake jobs:work 

http://devcenter.heroku.com/articles/procfile

उत्तर

3

मुझे लगता है कि मैं आपके सवाल का पहली बार पढ़ने में भूलना। मैंने उस हिस्से को याद किया जहां शेड्यूलर को एक अलग रेक कार्य की आवश्यकता होती है।

हाँ, मुझे लगता है कि ऐसा करने का एकमात्र तरीका दो अलग-अलग हेरोकू ऐप्स होना है, क्योंकि उसकेोकू कर्मचारी केवल rake jobs:work चलाएंगे और संभवतः आप इसे केवल रेस्क्यू रेक कार्यों में से एक पर मैप कर सकते हैं।

आप इस कोशिश कर सकते:

desc "Alias for resque:work (To run workers on Heroku)" 
task "jobs:work" => ["resque:work", "resque:scheduler"] 

लेकिन मैं वास्तव में कैसे Heroku कार्यकर्ता प्रक्रियाओं और सामान पर नज़र रखता है के साथ ठीक से काम कर उस के बारे में ईमानदारी से शक है। इसके अलावा, रेक सिंटैक्स को दोबारा जांचें; यह सिर्फ स्मृति से है। मुझे पता है कि कई निर्भरताओं को निर्दिष्ट करना संभव है।

+0

हाँ! जिस तरह से मैं अपने प्रश्न में वर्णन करता हूं वह पहले से ही ठीक काम कर रहा है (मैं इसे जल्द ही गिथब पर रखूंगा)। मैं बस सोच रहा था कि यह सिद्धांत में अच्छा है, और किसी के लिए मुझे कहने का इंतजार है "रोको! आप एक अलग कार्यकर्ता को एक अलग कार्य पर असाइन कर सकते हैं: ..." :) –

+0

हाँ, निश्चित रूप से कोई रास्ता नहीं है वो करें। – tfe

+0

एफवाईआई: https://github.com/clmntlxndr/heroku-scheduler –

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