Linux는 crontab을 사용하며 window와 같은 인터페이스 시스템에는 자체 사용자 정의 작업이 있습니다. 예약된 작업 컬을 사용하여 php 파일을 지정하거나 php를 사용하여 php 파일을 실행합니다. 이 경우 매분 예약된 액세스를 수행하여(폴링과 유사) PHP 파일에 액세스할 때 저장된 데이터 테이블의 데이터(조건부 2시간 데이터)를 읽고 데이터를 대기열에 던져야 합니다(피하기 위해). 데이터 양이 너무 많은 경우 많은 양의 정보를 전송하면 서버 리소스가 과도하게 사용됩니다) 최종적으로 큐에서 정량적 데이터를 추출하여 데이터를 전송합니다
내 생각은 대기열을 통한 작업 배포를 지연시켜 2시간 후에 작업을 트리거한 다음 작업에 문자 메시지를 보내는 것입니다.
다음은 문서 링크입니다:
대기열 지연 배포
SMS 알림
사용자의 휴대폰 번호, 문자 메시지 내용, 전송 시간을 저장하는 테이블을 만듭니다.
사용자는 한 번의 클릭으로 새로운 레코드 행을 추가할 수 있습니다.
예약된 작업을 설정하고, 1분마다 확인하고, 시간이 되면 보내고, 보낸 후 기록을 삭제하세요
실행할 태스크의 이름과 실행 시간을 redis Ordered Set에 넣은 후 정기적으로 Redis Ordered Set의 점수를 확인하여 범위 내에 있으면 실행 태스크를 꺼냅니다
사용자가 작업하면 테이블에 작업 시간이 확실히 저장되고 데몬은 2시간 후에 문자 메시지를 보낼 때까지 계속 쿼리합니다
이것은 타이머와 메시지 대기열이 필요합니다. . .
Linux는 crontab을 사용하며 window와 같은 인터페이스 시스템에는 자체 사용자 정의 작업이 있습니다. 예약된 작업 컬을 사용하여 php 파일을 지정하거나 php를 사용하여 php 파일을 실행합니다. 이 경우 매분 예약된 액세스를 수행하여(폴링과 유사) PHP 파일에 액세스할 때 저장된 데이터 테이블의 데이터(조건부 2시간 데이터)를 읽고 데이터를 대기열에 던져야 합니다(피하기 위해). 데이터 양이 너무 많은 경우 많은 양의 정보를 전송하면 서버 리소스가 과도하게 사용됩니다) 최종적으로 큐에서 정량적 데이터를 추출하여 데이터를 전송합니다
crontab을 사용하여 데이터베이스의 작업 대기열을 실행하세요
Workerman 또는 Swoole과 같은 PHP 비동기 프레임워크를 사용하여 타이머를 생성하고 필요할 때 작업을 실행할 수 있습니다! ! !
트리거할 시간과 이벤트를 저장하면 스크립트가 1분마다 데이터를 실행하고 시간이 다 되면 실행됩니다. 가장 간단합니다.