다음과 같이 작동하는 응용 프로그램이 있습니다. Linux 컴퓨터는 고객에게 28 가지의 다른 유형의 문자를 생성합니다. 편지는 .docx (Microsoft Word 형식)로 보내야합니다. 비서는 필요에 따라 자동으로 사용되는 MS Word 템플릿을 유지 관리합니다. MS Word 사용을 변경하는 것은 옵션이 아닙니다.폴링 데이터베이스 대신 사용 하시겠습니까?
이 모든 것을 조정하기 위해 문서 작업은 데이터베이스 테이블에 배치되고 각 Windows 컴퓨터에서 실행되는 Python 프로그램은 데이터베이스를 자주 폴링하여 작업을 잠그고 필요에 따라 실행합니다.
정확한 상태 정보를 제공하기 위해 다른 상태 ("신규", "처리 중", "완료 됨", "인쇄 됨")를 조정하기 위해 작업 정보를 중앙 데이터베이스 테이블을 사용합니다.
어쨌든 대부분의 경우 클라이언트가 데이터베이스를 폴링하는 것을 싫어합니다. 고객은 5 초마다 hpoll을 사용합니다.
폴링을 피하려면 "할 일이 있습니다"또는 "일부 작업을 수행 할 데이터베이스를 확인하십시오"라는 메시지가 모든 클라이언트 컴퓨터에 전송되기를 바란다.
게시/구독 메시지 대기열은 일종의 일이라고 생각하지만 엄청난 복잡성을 원하지 않습니다.
이것을 달성 할 수있는 설정/유지 보수 소프트웨어가 거의 없습니까? 옵션은 무엇입니까? X
사용중인 데이터베이스 시스템 ? SQL 서버? –
그것은 MySQL 데이터베이스입니다. –
괜찮습니다. SQL Server 2005에는 SQL Server 메시지 브로커가 있습니다. 그것은 당신의 클라이언트 프로세스가 할 일 (q 안에 메시지)이있을 때까지 0 % cpu를 차단하고 소비하는 것을 허용합니다. 각 메시지는 트랜잭션입니다. 그러나, ofc, 당신은 이런 종류의 처리를하기 위해 SQl 서버가 필요하지 않습니다. 내가 그들을 사용하지 않았으므로 또 다른 것을 추천 할 수는 없다. –