Rumah > hujung hadapan web > tutorial js > Bagaimana untuk mengalihkan tugas dalam Node.js menggunakan Node Cron

Bagaimana untuk mengalihkan tugas dalam Node.js menggunakan Node Cron

DDD
Lepaskan: 2025-01-05 20:21:41
asal
220 orang telah melayarinya

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

__Untuk mengendalikan permintaan pemadaman tertunda (cth., memadamkan profil pengguna selepas 5 hari), anda boleh mencapai ini dalam Node.js menggunakan pendekatan penjadualan tugas tertunda. Berikut ialah pelaksanaan langkah demi langkah:

Pendekatan 1: Menggunakan Penjadual Tugas Latar Belakang (cth., node-cron atau Agenda.js)
Contoh dengan nod-cron:

  1. Pasang pakej: npm pasang node-cron Kod untuk Shedule Pemadaman const cron = memerlukan("node-cron"); const Pengguna = memerlukan("../models/User"); // Anggap Pengguna ialah model Mongoose anda

exports.deleteProfile = tak segerak (req, res) => {
cuba {
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()}`,
});
Salin selepas log masuk

} tangkapan (ralat) {
console.error("Ralat pemadaman penjadualan:", ralat);
return res.status(500).json({ success: false, message: "Internal Server Error" });
}
};

Atas ialah kandungan terperinci Bagaimana untuk mengalihkan tugas dalam Node.js menggunakan Node Cron. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan