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
161 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!

source:dev.to
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