首頁 >web前端 >js教程 >如何使用 Node Cron 在 Node.js 中安排任務

如何使用 Node Cron 在 Node.js 中安排任務

DDD
DDD原創
2025-01-05 20:21:41171瀏覽

How to shedule a task in Node.js using Node Cron

__要處理延遲刪除請求(例如,5 天後刪除使用者設定檔),您可以在 Node.js 中使用延遲任務排程方法來實現此目的。以下是逐步實施:

方法 1:使用後台任務排程器(例如,node-cron 或 Agenda.js)
節點 cron 範例:

  1. 安裝包: npm 安裝node-cron 預定刪除程式碼 const cron = require("node-cron"); const User = require("../models/User"); // 假設 User 是你的 Mongoose 模型

exports.deleteProfile = async (req, res) =>; {
嘗試{
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(錯誤){
console.error("計畫刪除時發生錯誤:", error);
return res.status(500).json({ success: false, message: "內部伺服器錯誤" });
}
};

以上是如何使用 Node Cron 在 Node.js 中安排任務的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn