J'ai un site ASP classique, qui nécessite que certaines tables de base de données soient vidées des données de session sur un planning. Ce système n'a pas accès à des tâches planifiées (il est sur un hébergeur partagé et utilisant le serveur MySQL)Comment planifier des tâches de nettoyage de base de données régulières dans ASP classique?
Je considérais à l'aide global.asa
, pour déclencher des événements en tant que tels:
Application_OnStart
- supprimer tous les données de session de la base de donnéesApplication_OnEnd
- supprimer toutes les données de sessionSession_OnStart
- créer un utilisateur » la sessionSession_OnEnd
- supprimer toutes les données de la session qui se rapporte à ce s ession.
Y at-il une raison pour laquelle je ne devrais pas créer de connexions de base de données dans global.asa
? Ceux-ci seront créés et détruits ici, pas partagés sur la portée de la session ou de l'application. Je le vois comme un moyen d'exécuter ces tâches d'administration deux fois par utilisateur (au début et à la fin de la session) et de ne pas être renvoyé à nouveau pour un trafic de base de données très faible.
Quelqu'un at-il des idées sur les raisons pour lesquelles cela peut être mauvais? Des raisons de ne pas se connecter à une base de données dans global.asa
?
Si quelqu'un pense que l'idée ci-dessus est un mauvais - avez-vous d'autres idées quant à la façon que je peux ces tables régulièrement vides sans un ou plusieurs:
- Tâche planifiée
- Database tâche planifiée
- l'exécution du code de la charge de page pour chaque page (d'où les
Session_OnStart
crochets)
Ta »
Coconut principal
Salut Yann, Bon point re: Application_Start ralentir les choses - Je ne l'aurais pas considéré - bien que pas sûr de ce que les retards potentiels sont - espérons-le court. J'espère que session_end enlèvera la majorité des données de session, en limitant au minimum les retards dans Application_Start (ie ces requêtes devraient être peu nombreuses à moins que le serveur plante) –