__遅延削除リクエスト (例: 5 日後のユーザー プロファイルの削除) を処理するには、遅延タスク スケジューリング アプローチを使用して Node.js でこれを実現できます。以下に段階的な実装を示します:
アプローチ 1: バックグラウンド タスク スケジューラ (node-cron や Agenda.js など) を使用する
node-cron の例:
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()}`, });
} キャッチ (エラー) {
console.error("削除スケジュールのエラー:", error);
return res.status(500).json({ 成功: false、メッセージ: "内部サーバー エラー" });
}
};
以上がNode Cron を使用して Node.js でタスクをスケジュールする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。