2013-09-07 6 views
0

Apache, Phusion Passenger, Ruby on Rails 웹 사이트를 실행 중입니다. 나는 동시에 하나의 실행만을 허용 할 수있는 중요한 섹션을 가지고있다. 나는 phusion passenger가 fork()를 사용하여 각 요청에 대한 프로세스를이 documentation에 따라 생성하는 것을 알아 챘다. 개별 프로세스이므로 Mutex.synchronize가 작동하지 않는 것으로 나타났습니다. 나는 임계 구역 내부에 몇 가지 로깅을 추가했으며, 여전히 인터리브 인쇄 된 로그를 보았습니다. Apache + Phusion Passenger + Ruby on Rails 동기화

나는 이러한 모든 시도 :

  1. Mutex.synchronize에게
  2. Thread.exclusive
  3. 을 Monitor.synchronize
  4. 그들의

없음 작동하지 않습니다.

이 경우 어떻게 동기화합니까? 고마워.

답변

0

Mutex, Monitor 및 Thread.exclusive는 단일 프로세스 내에서만 작동합니다. 프로세스 간 동기화의 경우 잠금 파일을 사용하십시오. File # flock을 참조하십시오.

관련 문제