2012-10-01 11 views
6

मुझे अक्सर हेरोोकू पर "Rails.cache.clear" कमांड चलाने की आवश्यकता होती है और मुझे ऐसा करने का एकमात्र तरीका यह है कि पहले "heroku रन कंसोल" चलाएं और फिर कमांड चलाएं। एक कदम में ऐसा करने का कोई तरीका?'होकोकू रन कंसोल' के बिना हरोकू पर सिंगल रेल कमांड चलाने के लिए संभव है?

उत्तर

10

यह काम करने लगता है चला सकते हैं कम से कम मेरे लिए, किसी कारण से लटका देना।

+0

https://spin.atomicobject.com/2017/01/18/rails-script-heroku/ बताता है कि आप '--no-tty' cli param –

0

मैं समझता हूँ कि मैं गलत हो सकता है, लेकिन heroku run console && Rails.cache.clear? इसे एक छोटी स्क्रिप्ट फ़ाइल बनाएं (कहें, herokuclear) और इसे पैथ में सेट करें, हो सकता है?

+0

यह एक अच्छा विचार है, लेकिन दुर्भाग्यवश दूसरा भाग नहीं चलता है। यह हेरोकू कंसोल से बाहर निकलने के बाद दौड़ने का प्रयास करता है। –

+0

ओह हाँ, ठीक है, क्षमा करें। – kiddorails

4

आदेश के साथ एक रेक कार्य बनाएँ।

echo "Rails.cache.clear; exit" | heroku run console 

बाहर निकलने के बिना ऐसा लगता है: उदाहरण के लिए एक फ़ाइल lib/कार्य/cache.rake

namespace :cache do 
    desc 'Clear memcache' 
    task :clear => :environment do 
    Rails.cache.clear 
    end 
end 

तो फिर तुम आदेश

heroku run rake cache:clear

8

मुझे लगता है कि यह आपके लिए क्या देख रहे हैं:

heroku run rails runner -e production Rails.cache.clear 

आप पर्यावरण निर्धारित नहीं करते हैं, विकास में इस्तेमाल किया जाएगा।

यदि यह कैश को साफ़ करने की तरह एक आम कार्य है, एक रेक कार्य करते हैं।

+1

के साथ' निकास' को छोड़ सकते हैं, लेकिन मैं 'कभी उत्पादन' की आवश्यकता नहीं है, आपके पास हेरोोकू में क्या उत्पादन है। – tokland

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