Ce projet est réalisé dans Nodejs (JavaScript), pour exécuter un cronjob pour supprimer les documents dans MongoDB ou Scylladb, qui correspondent aux requêtes!
Ce projet existe pour aider les développeurs ou les administrateurs de base de données, pour avoir une autre façon de supprimer les anciens documents, ce qui n'est pas plus nécessaire!
Dans TTL, le document est supprimé lorsque la valeur du champ indexé est plus ancienne que la date actuelle!
Exemple:
WebhookSchema = {
event : {
type : String ,
} ,
body : {
type : Object ,
} ,
created_at : {
type : Date ,
expiryAfterInSeconds : 3600 , // 1 Hour
} ,
}
// ...
console . log ( Webhook . findOne ( { } ) )
// Output
{
event : 'paid' ,
body : {
...
} ,
created_at : '2024-03-01T16:23:19.655Z' ,
} À ce document, être supprimé à l'avenir, la date actuelle doit être 2024-03-01T17:23:19.655Z ou plus, comme 2024-03-01T17:30:19.655Z !
Mais, si vous avez besoin de supprimer le document, quand une autre règle est nécessaire pour être vraie, vous utiliserez ce projet!
Ce projet est réalisé dans NodeJS (LTS) et utilisez le MongoDB (conducteur officiel) pour connecter et supprimer les documents spécifiés!
Pour utiliser ce projet, vous devez cloner cela, exécutant la commande suivante:
git clone https://github.com/ramonpaolo/clear-job Avant le projet, vous devrez peut-être configurer le .env! Vous devrez peut-être renommer le .env.example à .env !
Afther cofngiure the .env , vous pouvez exécuter le docker-compose, ou le script.sh, pour augmenter le cronjob et le mongodb pour les tests!
| Variable d'environnement | Taper | Requis | Exemple | Valeurs possibles | Valeur par défaut |
|---|---|---|---|---|---|
| Project_name | Chaîne | Oui | "Cronjob" | * | |
| App_name | Chaîne | Oui | "Cronjob" | * | |
| Node_env | Chaîne | Non | "développement" | * | |
| Exécuter_when_init | Chaîne | Non | "vrai" | "vrai", "false" | "FAUX" |
| Exécuter_every_time | Nombre | Non | 5 | * | 60 |
| Exécuter_time_unit | Chaîne | Non | "secondes" | "secondes", "minutes", "heures", "jours", "mois", "années" | "minutes" |
| Mongo_password | Chaîne | Non | "test" | * | |
| Mongo_Username | Chaîne | Non | "test" | * | |
| Mongo_url | Chaîne | Oui | "MongoDB: // Test: test @ Mongo" | * | |
| Database_name | Chaîne | Oui | "Test" | * | |
| Collection_name | Chaîne | Oui | "webhooks" | * | |
| Field_date | Chaîne | Oui | "créé_at" | * | |
| Facultational_queries | Chaîne | Non | "{" Env ":" Development "}" | * | "{}" |
| Delete_Documents | Chaîne | Non | "vrai" | "vrai", "false" | "FAUX" |
Vous pouvez permettre au travail d'envoyer un e-mail via SendGrid, lorsque le travail est exécuté avec succès ou avec erreur!
Pour activer cela, vous n'avez besoin que de 2 choses: 1- Avoir un compte SendGrid 2- Configurez ceci envs:
| Variable d'environnement | Taper | Requis | Exemple | Valeurs possibles | Valeur par défaut |
|---|---|---|---|---|---|
| Notification_provider | Chaîne | Oui | "sendgrid" | "sendgrid" | |
| Sendgrid_api_key | Chaîne | Oui | * | ||
| To_email | Chaîne | Oui | * | ||
| De_email | Chaîne | Oui | * |