Maison > interface Web > js tutoriel > Comment planifier une tâche dans Node.js à l'aide de Node Cron

Comment planifier une tâche dans Node.js à l'aide de Node Cron

DDD
Libérer: 2025-01-05 20:21:41
original
223 Les gens l'ont consulté

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

__Pour gérer une demande de suppression retardée (par exemple, supprimer un profil utilisateur après 5 jours), vous pouvez y parvenir dans Node.js en utilisant une approche de planification de tâches retardée. Voici une mise en œuvre étape par étape :

Approche 1 : Utilisation d'un planificateur de tâches en arrière-plan (par exemple, node-cron ou Agenda.js)
Exemple avec node-cron :

  1. Installez le package : npm installer nœud-cron Code pour planifier la suppression const cron = require("node-cron"); const Utilisateur = require("../models/User"); // Supposons que l'utilisateur soit votre modèle Mongoose

exports.deleteProfile = async (req, res) => {
essayez {
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()}`,
});
Copier après la connexion

} capture (erreur) {
console.error("Erreur lors de la planification de la suppression :", erreur);
return res.status(500).json({ succès : false, message : "Erreur interne du serveur" });
>
};

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal