mirror of https://github.com/rails/rails
Created rake restart task.
Fixes #18876. Rake restart touches `tmp/restart.txt` to restart application on next request. Updated tests and documentation accordingly.
This commit is contained in:
parent
38218929e9
commit
b181297ad7
|
@ -1,3 +1,10 @@
|
|||
* Created rake restart task. Restarts your Rails app by touching the
|
||||
`tmp/restart.txt`.
|
||||
|
||||
Fixes #18876.
|
||||
|
||||
*Hyonjee Joo*
|
||||
|
||||
* Set Rails console to use log formatter and log level as specified for the
|
||||
given environment.
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@ require 'rake'
|
|||
log
|
||||
middleware
|
||||
misc
|
||||
restart
|
||||
routes
|
||||
statistics
|
||||
tmp
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
desc "Restart app by touching tmp/restart.txt"
|
||||
task restart: :environment do
|
||||
FileUtils.touch('tmp/restart.txt')
|
||||
end
|
|
@ -0,0 +1,31 @@
|
|||
require "isolation/abstract_unit"
|
||||
|
||||
module ApplicationTests
|
||||
module RakeTests
|
||||
class RakeRestartTest < ActiveSupport::TestCase
|
||||
include ActiveSupport::Testing::Isolation
|
||||
|
||||
def setup
|
||||
build_app
|
||||
boot_rails
|
||||
end
|
||||
|
||||
def teardown
|
||||
teardown_app
|
||||
end
|
||||
|
||||
test 'rake restart touches tmp/restart.txt' do
|
||||
Dir.chdir(app_path) do
|
||||
`rake restart`
|
||||
assert File.exist?("tmp/restart.txt")
|
||||
|
||||
prev_mtime = File.mtime("tmp/restart.txt")
|
||||
sleep(1)
|
||||
`rake restart`
|
||||
curr_mtime = File.mtime("tmp/restart.txt")
|
||||
assert_not_equal prev_mtime, curr_mtime
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue