Heroku

2010-12-28 20 views
12

पर एक साधारण फ़ाइल को चलाने के लिए कैसे कहें कि मुझे गिटूब पर मेरा रेल ऐप मिला है और मैं उसकेोकू पर जिथब रेपो तैनात कर रहा हूं।Heroku

मुझे एक ऐसी स्थिति मिली है जहां मेरे पास शब्दों की गुच्छा के साथ एक साधारण टेक्स्ट फ़ाइल है (यह मेरे जीथब रेपो में है)। मैं इन शब्दों को एक सरल रूबी प्रोग्राम का उपयोग कर डेटाबेस में डालना चाहता हूं। टैप कमांड का उपयोग करने के बजाय, क्या यह हैकोकू में बस मेरे सरल रूबी प्रोग्राम को चलाने और डेटाबेस में शब्दों को सम्मिलित करना संभव है ... या शायद उन्हें टर्मिनल पर दिखाएं?

शायद भ्रमित हो रहा है लेकिन मूल रूप से मैं जानना चाहता हूं कि उसकेोकू कमांड लाइन से सरल रूबी स्क्रिप्ट कैसे चलाएं?

उत्तर

6

एक बिन निर्देशिका में अपने गहरे लाल रंग का स्क्रिप्ट रखो और Git Heroku को धक्का। अब आप heroku कंसोल में एक शेल कमांड निष्पादित कर सकते हैं। बैकटिक के उपयोग

`ruby bin/foo.rb` 

नोट:

उदाहरण के लिए, यदि आपके रूबी स्क्रिप्ट bin/foo.rb है, तो आप निम्न आदेश Heroku कंसोल में चला सकते हैं।

0
cd /path/to/my/local/repository 
heroku console 
require 'my_word_importing_script' 

विफल होने पर, आयातक.आरबी के रूप में एक सरल सिनात्रा एप्लिकेशन को आजमाएं?

require 'sinatra' 
require 'sequel' 

configure do 
    // connect to the database with sequel 
end 

get '/import/a-long-unguessable-url-fdsjklgfuiwfnjfkdsklfds' do 
    words = YAML.load(File.join(File.dirname(__FILE__), "my_list_of_words.yaml")) 
    words.each do |word| 
    // Your logic for inserting into the database with sequel 
    end 
end 

आपके ब्राउज़र में http://example.com/import/a-long-unguessable-url-fdsjklgfuiwfnjfkdsklfds मारने से आयात बंद हो जाएगा। बाहरी क्रॉन कार्य के लिए सुविधाजनक।

तुम भी रेपो में एक config.ru फ़ाइल की आवश्यकता होगी:

require 'importer' 
run Sinatra::Application 
+0

कमांड उसके कंसोल कंसोल को हटा दिया गया है। – Stanislasdrg

1

आप Heroku पर मनमाने ढंग से स्थानीय रूबी फ़ाइलों को चलाने के लिए चाहते हैं,

http://www.22ideastreet.com/debug/run-local-scripts-on-heroku

पर ब्लॉग पोस्ट की जाँच करने से कुछ चीज़ों (लंबे समय बार, आदि) के लिए बाहर देखने के लिए कर रहे हैं, लेकिन यह हो सकता है उपयोगी हो अगर आपके पास ऐसी फ़ाइल है जिसे आपने चेक नहीं किया है जिसमें आप हेरोकू इंस्टेंस पर परीक्षण करना या चलाने के लिए चाहते हैं।

+0

लिंक मर चुका है। कृपया प्रासंगिक भागों को उद्धृत करें। – schmijos

+0

फिक्स्ड लिंक, धन्यवाद! –

14
देवदार के साथ

, आप बैश चला सकते हैं:

heroku run bash 
5

आप Heroku पर एक रेल अनुप्रयोग के बारे में बात कर रहे हैं के बाद से, कैसे के बारे में का उपयोग कर rails runner:

heroku run bundle exec rails runner ./path/to/script.rb -a <your-app> 

पर एक नज़र डालें अधिक जानकारी के लिए RailsGuides for rails runner


वैकल्पिक रूप से, turn that script into a rake task अगर धावक नहीं चाय के अपने कप (जैसे, recurring tasks के लिए) है।

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