문제

짧은 긴 이야기를 했어의 많은 문제와 내구를 치 내 MySQL DB 서버는 너무 어렵습니다.그래서 내가 만들어진 도구 세트(PHP 와 루비)을 사용하는 콩나무 통신하는 내가 원하는 것에 한 DB 정의 실행 DB 연결이 있습니다.콩나무 관에 사용되는 모두 들어오는 작업에 대답.

그러나,나는 추가 ExpireTime 내 DB 요청은'일이다.본질적으로는 경우 DB 요청 작업이 실행되지 않고 상당히 짧은 시간 이내에 창문 요청을 실행되지 않습니다.이를 요청하는 작업이 제한 시간에 자신의 어쨌든 그래서 짧은 시간 유지 DB 실행 스크립트에서 실행의 무리는 DB 를 요청이 사용되지 않습니다.

이것은 모든 일만큼 잘 모든 것에 있었습니다.지금 나는 그것을 확대하는 두 번째 기계 및 나는 즉시 문제로 실행하는 곳에 요청하는 것으로 간주되는 경우는 만료되었습니다.

현재 시간 만료에 대한 작업은 10 초 동안은 이미 정말 오래 간단한 DB 요청 내가 하려고 완료합니다.경우 10 초면 충분히 큰 숫자를 다음 DB 요청을 실행하지 않고 신속하고 문제입니다.

그래서 저는 이 문제로 귀결 1 컴퓨터의 생각 12:00:XX 고 다른 생각 12:00:YY 과의 차이 XX 및 YY 은 적어도 8 9 초입니다.

내가 사용하고 Ubuntu12.04 데스크톱에서 서버 및 내 LAN.내가 쓰는 프로그램에서 모두 루비(1.8.7)및 PHP(5.3.10-1ubuntu3.4)을 사용하는 이 콩나무 큐의 일종으로 DB 연결이 수영장 뿐 아니라 작업 큐 실행하기 위해 프로젝트/사이트 관련 작업에서 배포되는 방식이다.PHP 를 사용 pheanstalk 및 루비 사용 beankstalk 클라이언트로 보석입니다.

해킹했으로 간주를 만들고 콩나무 관에 한 번 두 번째는 그래서 컴퓨터를 실행하는 DB 를 요청을 둔 그것의 현재 시간입니다.다음 분산 컴퓨터에 두고 있을 요청으로 큐의 필요를 잡기 위해 작업(및 출시-를 삭제하지 못)에 대한 현재 대부분의 타임 스탬프.이것은 원고(믿)으로 이어질 것이 충돌-즉요청을 기다리고 있을 얻기에는 작업에 대한 데이터는 현재 시간으로 나를 확장하고 다수의 컴퓨터를 추가한다.

내가 누군가를 희망하는 이 포럼에서는 더 좋은 방법이 있습니다.

도움이 되었습니까?

해결책

'올바른'솔루션을 설정하는 비슷하게 동작에 데몬기(또는 적어도 정기적으로 실행되는 프로그램 ntpdate -s _servername_ 그래야)서버는 시계가 정확한지,그리고 유지를 얻을 수정할 때는 얻을 정렬합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top