2012-10-01 15 views

risposta

10

Questo sembra funzionare:

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

Senza l'uscita sembra da appendere per qualche motivo, almeno per me.

+0

https://spin.atomicobject.com/2017/01/18/rails-script-heroku/ indica che è possibile rilasciare '; exit' con il parametro cli' --no-tty' –

0

Capisco che potrei sbagliarmi, ma heroku run console && Rails.cache.clear? Crea un piccolo file di script (ad esempio, herokuclear) e impostalo in PERCORSO, forse?

+0

Questa è un'ottima idea, ma sfortunatamente la seconda parte non funziona. Tenta di correre dopo essere uscito dalla console di Heroku. –

+0

Oh sì, giusto, mi dispiace. – kiddorails

4

Creare un'attività di rake con il comando. Ad esempio, un file lib/task/cache.rake

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

Quindi è possibile eseguire il comando

heroku run rake cache:clear

8

credo che questo è quello che stai cercando:

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

Se non si imposta l'ambiente, saranno utilizzati sviluppo.

Se si tratta di un'attività comune come svuotare la cache, eseguire un'attività di rake.

+1

su cui è stato eseguito il upvoted, ma io Non ho mai avuto bisogno di '-e produzione', quello che hai in Heroku è la produzione. – tokland