2013-02-15 2 views

답변

1

파일 변경 알림을 구독 할 수 있습니다. 다음은 osx 용 lib : rb-fsevent입니다.

파일이 변경되었다는 알림을 받으면 다시로드 할 수 있습니다.

filename = './lib.rb' # get file name from event 
load filename 

다시로드하지 않습니다 다음 require로드 한 번만 파일 때문에, 대신 requireload를 사용합니다.

1

File.mtime을 사용하고 lib.rb의 마지막 수정 된 타임 스탬프를 비교하는 것이 가능합니다. 코드에서

, 먼저 파일을로드 할 때 mtime를 얻을 : 필요한 경우

last_mtime = File.mtime('lib.rb') 
load 'lib.rb' 

나중에 루프에서 처리하는 동안, 수정 시간이 변경 있는지 다시 확인하고 다시로드 :

current_mtime = File.mtime('lib.rb') 
if (current_mtime != last_mtime) 
    last_mtime = current_mtime 
    load 'lib.rb' 
end 

저는 이전에 비슷한 기술을 사용해 왔지만 잘 작동했습니다. 나는 5 분 간격으로 점검하기 위해 광산을 세웠지 만, 당신의 필요는 다를 수 있습니다.

관련 문제