찾다

 >  Q&A  >  본문

mysql - PHP 예약 작업은 작업이 실행된 후 2시간 동안 진행된 후 사용자에게 문자 메시지를 보냅니다.

요구 사항은 사용자가 작업을 수행한 후 2시간 동안 카운트다운한 다음 그 시간에 다른 작업을 수행하는 것입니다.

하지만 이제 이 두 시간을 측정할 방법이 없습니다.

좋은 아이디어 있으신가요

ringa_leeringa_lee2780일 전747

모든 응답(9)나는 대답할 것이다

  • 巴扎黑

    巴扎黑2017-05-16 13:06:54

    내 생각은 대기열을 통한 작업 배포를 지연시켜 2시간 후에 작업을 트리거한 다음 작업에 문자 메시지를 보내는 것입니다.
    다음은 문서 링크입니다:

    • 대기열 지연 배포

    • SMS 알림

    회신하다
    0
  • PHPz

    PHPz2017-05-16 13:06:54

    사용자의 휴대폰 번호, 문자 메시지 내용, 전송 시간을 저장하는 테이블을 만듭니다.
    사용자는 한 번의 클릭으로 새로운 레코드 행을 추가할 수 있습니다.
    예약된 작업을 설정하고, 1분마다 확인하고, 시간이 되면 보내고, 보낸 후 기록을 삭제하세요

    회신하다
    0
  • PHP中文网

    PHP中文网2017-05-16 13:06:54

    실행할 태스크의 이름과 실행 시간을 redis Ordered Set에 넣은 후 정기적으로 Redis Ordered Set의 점수를 확인하여 범위 내에 있으면 실행 태스크를 꺼냅니다

    회신하다
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 13:06:54

    사용자가 작업하면 테이블에 작업 시간이 확실히 저장되고 데몬은 2시간 후에 문자 메시지를 보낼 때까지 계속 쿼리합니다

    회신하다
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-16 13:06:54

    이것은 타이머와 메시지 대기열이 필요합니다. . .

    회신하다
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 13:06:54

    Linux는 crontab을 사용하며 window와 같은 인터페이스 시스템에는 자체 사용자 정의 작업이 있습니다. 예약된 작업 컬을 사용하여 php 파일을 지정하거나 php를 사용하여 php 파일을 실행합니다. 이 경우 매분 예약된 액세스를 수행하여(폴링과 유사) PHP 파일에 액세스할 때 저장된 데이터 테이블의 데이터(조건부 2시간 데이터)를 읽고 데이터를 대기열에 던져야 합니다(피하기 위해). 데이터 양이 너무 많은 경우 많은 양의 정보를 전송하면 서버 리소스가 과도하게 사용됩니다) 최종적으로 큐에서 정량적 데이터를 추출하여 데이터를 전송합니다

    회신하다
    0
  • 仅有的幸福

    仅有的幸福2017-05-16 13:06:54

    crontab을 사용하여 데이터베이스의 작업 대기열을 실행하세요

    회신하다
    0
  • 滿天的星座

    滿天的星座2017-05-16 13:06:54

    Workerman 또는 Swoole과 같은 PHP 비동기 프레임워크를 사용하여 타이머를 생성하고 필요할 때 작업을 실행할 수 있습니다! ! !

    회신하다
    0
  • PHP中文网

    PHP中文网2017-05-16 13:06:54

    트리거할 시간과 이벤트를 저장하면 스크립트가 1분마다 데이터를 실행하고 시간이 다 되면 실행됩니다. 가장 간단합니다.

    회신하다
    0
  • 취소회신하다