내 PHP 프로젝트에서 몇 가지 백그라운드 작업이 있습니다. 어떤 조건이 만족되면 큰 소리로 일을합니다. 예를 들어, 아직 배달되지 않은 주문이 있고 배달 예상 시간이 15 분 미만인 경우 시스템에서 택배에게 늦었을 가능성을 알립니다.배경 PHP 작업, cron 대안
가장 간단한 해결책 - 매분 PHP 스크립트를 실행하는 cron 작업을 만듭니다. 이 스크립트는 조건을 확인하고 조건이 충족되면 알림을 보냅니다.
또 다른 접근법은 대기열입니다. 나는 gearman과 rabbitmq를 보았지만, 나는 그들이 다른 유스 케이스에 대해 볼 수있는 것처럼 보았다. 작업을 직접 보내는 클라이언트가 있으면 적합합니다. 내 경우에는 클라이언트가 없으며 시스템에 조건이 있습니다.
그리고 내가 생각한 마지막 해결책은 무한 루프로 사용자 정의 PHP 데몬을 작성하는 것입니다. 각 반복에서 상태를 확인하고, 만족하고 1 분 동안 잠자기하면 작업을 수행하십시오. 하지만 메모리 누수, 데몬 재시작 등과 같은 문제가있을 수 있습니다.
그래서이 현대판 PHP의 가장 좋은 해결책은 무엇입니까?
PHP 솔루션을 찾으려면 정상적인 cron 작업을 수행하십시오. 다른 방법으로는 예약 된 작업을 설정할 수있는 제 3 자 옵션이있을 수 있으며 해당 작업에서 응용 프로그램을 호출 할 수 있습니다. 또는 노드 J와 같이 측면에서 실행되는 작은 대기열 응용 프로그램을 만들면됩니다. – KungWaz