요구 사항은 사용자가 작업을 수행한 후 2시간 동안 카운트다운한 다음 그 시간에 다른 작업을 수행하는 것입니다.
하지만 이제 이 두 시간을 측정할 방법이 없습니다.
좋은 아이디어 있으신가요
巴扎黑2017-05-16 13:06:54
내 생각은 대기열을 통한 작업 배포를 지연시켜 2시간 후에 작업을 트리거한 다음 작업에 문자 메시지를 보내는 것입니다.
다음은 문서 링크입니다:
대기열 지연 배포
SMS 알림
PHPz2017-05-16 13:06:54
사용자의 휴대폰 번호, 문자 메시지 내용, 전송 시간을 저장하는 테이블을 만듭니다.
사용자는 한 번의 클릭으로 새로운 레코드 행을 추가할 수 있습니다.
예약된 작업을 설정하고, 1분마다 확인하고, 시간이 되면 보내고, 보낸 후 기록을 삭제하세요
PHP中文网2017-05-16 13:06:54
실행할 태스크의 이름과 실행 시간을 redis Ordered Set에 넣은 후 정기적으로 Redis Ordered Set의 점수를 확인하여 범위 내에 있으면 실행 태스크를 꺼냅니다
过去多啦不再A梦2017-05-16 13:06:54
Linux는 crontab을 사용하며 window와 같은 인터페이스 시스템에는 자체 사용자 정의 작업이 있습니다. 예약된 작업 컬을 사용하여 php 파일을 지정하거나 php를 사용하여 php 파일을 실행합니다. 이 경우 매분 예약된 액세스를 수행하여(폴링과 유사) PHP 파일에 액세스할 때 저장된 데이터 테이블의 데이터(조건부 2시간 데이터)를 읽고 데이터를 대기열에 던져야 합니다(피하기 위해). 데이터 양이 너무 많은 경우 많은 양의 정보를 전송하면 서버 리소스가 과도하게 사용됩니다) 최종적으로 큐에서 정량적 데이터를 추출하여 데이터를 전송합니다
滿天的星座2017-05-16 13:06:54
Workerman 또는 Swoole과 같은 PHP 비동기 프레임워크를 사용하여 타이머를 생성하고 필요할 때 작업을 실행할 수 있습니다! ! !