2012-10-01 31 views

Trả lời

10

Điều này dường như làm việc:

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

Nếu không có lối ra có vẻ như để treo vì lý do nào đó, ít nhất là cho tôi.

+0

https://spin.atomicobject.com/2017/01/18/rails-script-heroku/ chỉ ra rằng bạn có thể thả '; thoát' bằng tham số cli' --no-tty' –

0

Tôi hiểu rằng tôi có thể sai, nhưng heroku run console && Rails.cache.clear? Làm cho nó một tập lệnh nhỏ (ví dụ, herokuclear) và đặt nó trong PATH, có thể?

+0

Đó là một ý tưởng tuyệt vời, nhưng tiếc là phần thứ hai không chạy. Nó cố gắng chạy sau khi thoát khỏi bảng điều khiển Heroku. –

+0

Ồ vâng, phải, xin lỗi. – kiddorails

4

Tạo tác vụ cào bằng lệnh. Ví dụ một file lib/nhiệm vụ/cache.rake

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

Sau đó, bạn có thể chạy lệnh

heroku run rake cache:clear

8

Tôi nghĩ rằng đây là những gì bạn đang tìm kiếm:

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

Nếu bạn không đặt môi trường, phát triển sẽ được sử dụng.

Nếu đó là một nhiệm vụ phổ biến như xóa bộ nhớ cache, hãy tạo một tác vụ cào.

+1

upvoted, nhưng tôi đã không bao giờ cần thiết "-e sản xuất', những gì bạn có trong Heroku là sản xuất. – tokland

Các vấn đề liên quan