1. 15분 이상 주문이 들어왔는지 확인하고 싶은데 15분을 초과하면 데이터베이스를 타임아웃 취소로 수정해야 하는데 어떻게 시작해야 할지 모르겠네요.
이 기능은 사용자 동작을 트리거하도록 만들 수 있습니다. 예를 들어 사용자가 주문을 확인하고 결제가 이루어지지 않았으며 15분을 초과했다고 판단되면 주문 상태가 시간 초과 취소로 변경됩니다. 조회되지 않은 주문 및 상태가 업데이트되지 않은 주문은 예약된 작업에 의해 이른 아침에 업데이트될 수 있습니다. 주문량이 많은 경우 모든 주문의 상태를 실시간으로 동기화하는 것은 권장되지 않으며 의미가 없습니다.
데이터베이스 폴링: 예약된 작업을 사용하여 데이터베이스를 폴링하여 관련 주문 처리를 쿼리합니다. 이 방법은 소규모 프로젝트에서 간단하고 실용적이며 유지 관리가 쉽습니다.
Ring Queue: 참조: http://mp.weixin.qq.com/s/mvF...
큐 서비스: 지연된 큐 처리 사용 참조: http://tech.youzan.com/queuin...
더 나은 해결책은 위에서 언급한 링 큐인 시간 휠을 사용하는 것입니다. Redis 키 공간 알림을 사용하여 만료 시간을 15분으로 설정하고 키 삭제 이벤트를 수신하고 해당 작업을 수행할 수도 있습니다.
타이머를 사용하면 좋지 않나요?
redis가 필요하지 않습니다
MySQL로 할 수 있습니다
계획: PHP 스크립트 작성, 데몬 프로세스 실행, while 루프, 라이브러리 확인, 주문이 15분 이상 소요되고 주문이 미결제 및 배송되지 않은 경우 취소 작업이 수행됩니다
이 기능은 사용자 동작을 트리거하도록 만들 수 있습니다. 예를 들어 사용자가 주문을 확인하고 결제가 이루어지지 않았으며 15분을 초과했다고 판단되면 주문 상태가 시간 초과 취소로 변경됩니다. 조회되지 않은 주문 및 상태가 업데이트되지 않은 주문은 예약된 작업에 의해 이른 아침에 업데이트될 수 있습니다. 주문량이 많은 경우 모든 주문의 상태를 실시간으로 동기화하는 것은 권장되지 않으며 의미가 없습니다.
데이터베이스 폴링: 예약된 작업을 사용하여 데이터베이스를 폴링하여 관련 주문 처리를 쿼리합니다. 이 방법은 소규모 프로젝트에서 간단하고 실용적이며 유지 관리가 쉽습니다.
Ring Queue: 참조: http://mp.weixin.qq.com/s/mvF...
큐 서비스: 지연된 큐 처리 사용 참조: http://tech.youzan.com/queuin...
더 나은 해결책은 위에서 언급한 링 큐인 시간 휠을 사용하는 것입니다.
Redis 키 공간 알림을 사용하여 만료 시간을 15분으로 설정하고 키 삭제 이벤트를 수신하고 해당 작업을 수행할 수도 있습니다.
타이머를 사용하면 좋지 않나요?
redis가 필요하지 않습니다
MySQL로 할 수 있습니다
계획:
PHP 스크립트 작성, 데몬 프로세스 실행,
while 루프, 라이브러리 확인, 주문이 15분 이상 소요되고 주문이 미결제 및 배송되지 않은 경우 취소 작업이 수행됩니다