>웹 프론트엔드 >JS 튜토리얼 >Node.js를 사용하여 삭제 프로세스를 예약하는 한 가지 방법

Node.js를 사용하여 삭제 프로세스를 예약하는 한 가지 방법

DDD
DDD원래의
2024-12-30 07:19:09347검색

One way to shedule deletion process using Node.js

노드 크론 패키지 설치

npm 설치 node-cron

삭제를 예약하는 코드

const cron = require("node-cron");
const User = require("../models/User"); // Assume `User` is your Mongoose model

exports.deleteProfile = async (req,res) => {
  try{
   const {userId} = req.body;
   //validate input
   if(!userId){
      return res.status(400).json({success:false,  message: "User ID is required" });
}
 // Find user to ensure existence

const user = await User.findById(userId);
if (!user) {
      return res.status(404).json({ success: false, message: "User not found" });
    }

 // Schedule deletion after 5 days

const deletionDate = new Date();
deletionDate.setDate(deletionDate.getDate()+5);

cron.schedule(deletionDate.toISOString(), async () => {
      await User.findByIdAndDelete(userId);
      console.log(`User with ID ${userId} deleted successfully.`);
    });

    return res.status(200).json({
      success: true,
      message: `User deletion scheduled for ${deletionDate.toISOString()}`,
    });


}
catch(error){
   console.error("Error scheduling deletion:", error);
    return res.status(500).json({ success: false, message: "Internal Server Error" });
}

위 내용은 Node.js를 사용하여 삭제 프로세스를 예약하는 한 가지 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.