2017-12-20 13 views
0

콘솔, 생성기, dbconsole, 테스트, 파괴, 러너 및 레이크 명령이 실행되지 않을 때만 서버가 시작될 때 FTP 수신기를 실행하려고합니다.레일 5 서버 시작 후에 만 ​​스크립트를 실행하십시오.

defined? Rails::Generators과 같은 검사를 사용하여 레일 3과 4를 사용하는 사람들이 있지만 레일 5에서 작동하지 못하는 것으로 나타났습니다. 정의 된 검사로 어떤 결과도 얻지 못했습니다.

답변

1

config.ru 파일은 웹 서버에서만 사용되며 콘솔 스크립트, 레이크 작업 또는 테스트 세트로로드되지 않습니다. 서버 인스턴스가 시작될 때만 거기에 넣습니다.

웹 서버 자체에서이 작업을 수행 할 수도 있습니다. 예를 들어 푸마를 사용할 때 on_worker_boot 또는 after_worker_boot과 같은 고리가있어 도움이 될 수 있습니다 (http://www.rubydoc.info/github/puma/puma/Puma/Configuration/DSL).

그러나 배치 된 서버 환경과 Rails 응용 프로그램과의 통합을 권장합니다.

+0

@Christoph에게 회신 해 주셔서 감사합니다. 왜 레일 서버 대신 서버 환경에 통합하는 것이 더 좋을지 설명해 주시겠습니까 – Subash

+0

분리의 우려, 나는 무엇보다도 대부분을 말할 것입니다. 레일즈 애플리케이션이 둘 다 할 때 가지고있는 문제점을 이미 설명했다. 배포에 따라 응용 프로그램 서버는 5 명의 직원과 같이 작동 할 수 있습니다. 이것은 5 개의 FTP 리스너가 실행 중임을 의미합니다. 장기적으로는 응용 프로그램 서버를 FTP 수신기와 다른 서버 인스턴스로 이동하여 응용 프로그램을 확장 할 수 있습니다. –