2017-12-21 2 views
0

호핑 나는 (다시) 도움을 얻을 수있다. 저는 멀티 테넌트 PHP 애플리케이션을 개발 중입니다. 각 세입자는 자체 데이터베이스 (mysql)를 갖습니다. 궁극적으로 ELB, EC2 및 DynamoDB를 사용하여 AWS에서 서비스를 유지할 계획입니다.멀티 테넌트 (Multi-Tenant) PHP 앱에 대한 Cron 작업/예정된 작업

그러나 앱에서 특정 예약 된 작업을 실행해야합니다 (특정 고객의 경우 PSA에서 미결 송장을 가져온 다음 Authroize.net CIM을 사용하여 고객에게 요금을 부과하고 PSA에서 지불했음을 표시해야 함).

일반 응용 프로그램의 경우 결제 일괄 처리를 만들거나 처리하기 위해 매일 실행되는 cron 스크립트를 만들면됩니다. 각 테넌트 (각 데이터베이스에 대해)에서 cron을 실행하는 것이 적절한 접근 방식인지는 모르겠습니다. 어쩌면 각 세입자를 가로 지르는 하나의 마스터 크론 작업 일 수도 있고 아니면 SWF를 사용하여 각 세입자를위한 크론 작업을 작성/유지하는 스크립트를 작성해야합니까?

입력 해 주셔서 감사합니다.

답변

1

과거에 cron을 통해 일괄 처리를 수행하는 데 상당한 성공을 거두었습니다. cron 작업 내에서 실행할 데이터베이스의 원본으로 쿼리 할 수있는 테이블에 테넌트 생성을 기록하는 것이 도움이 될 수 있습니다.

+0

좋은 접근 방법 인 것 같습니다. 나는 세입자 데이터베이스 (데이터베이스 정보 포함)를 가지고 있습니다. 능동적 인 세입자를 위해 해당 테이블을 쿼리하고 일괄 처리를 만들 정도로 쉬울 것입니다. ** EDIT (입력을 통해 의견을 제출하지 못함) *** : 많은 세입자가있을 경우 각 테넌트에 대해 여러 API를 쿼리해야하지만 큰 배치가됩니다. 어쩌면 그것에 인스턴스를 헌납하는 것이 합리적일까요? –

+0

병렬로 실행할 수 있도록 개별 배치를 뒤에서 지목하는 것을 방해하는 요소가 있습니까? 유사한 프로세스를 위해이 작업을 수행하여 배치를 더 빨리 마무리 할 수있었습니다. 이 경로를 사용하는 경우 서버에 원치 않는 스트레스를 가하지 말아야합니다. –

+0

Experience? 그 대답은 ... 전에 이런 멀티 - 테넌트 애플 리케이션을 한 적이 없어. 나는 항상 cron이 충분했던 단일 입주자 앱을 만들었습니다. –