Dieses Projekt wird in NodeJS (JavaScript) durchgeführt, um einen Cronjob auszuführen, um die Dokumente in MongoDB oder Scylladb zu löschen, die mit den Abfragen übereinstimmen!
Dieses Projekt gibt es, um den Entwicklern oder Datenbankadministern zu helfen, eine andere Möglichkeit zu haben, alte Dokumente zu löschen, das ist nicht notwendiger!
In TTL wird das Dokument gelöscht, wenn der Wert des indizierten Feldes alter als das aktuelle Datum ist!
Beispiel:
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' ,
} Zu diesem Dokument muss in Zukunft gelöscht werden, das aktuelle Datum muss 2024-03-01T17:23:19.655Z oder mehr neu sein, wie 2024-03-01T17:30:19.655Z !
Wenn Sie das Dokument jedoch löschen müssen, wenn eine andere Regel wahr sein muss, werden Sie dieses Projekt verwenden!
Dieses Projekt wird in NodeJS (LTS) durchgeführt und verwendet den MongoDB (offiziellen Treiber), um die angegebenen Dokumente zu verbinden und zu löschen!
Um dieses Projekt zu verwenden, müssen Sie dies klonen und den folgenden Befehl ausführen:
git clone https://github.com/ramonpaolo/clear-job Vor dem Projekt müssen Sie möglicherweise den .Env konfigurieren! Möglicherweise müssen Sie das .Env.example in .env umbenennen!
Nach dem .env können Sie den Docker-Compose oder das Skript.Sh zum Cronjob und den MongoDB für Tests ausführen!
| Umgebungsvariable | Typ | Erforderlich | Beispiel | Mögliche Werte | Standardwert |
|---|---|---|---|---|---|
| Project_name | Saite | Ja | "Cronjob" | * | |
| App_name | Saite | Ja | "Cronjob" | * | |
| Node_env | Saite | NEIN | "Entwicklung" | * | |
| Execute_when_init | Saite | NEIN | "WAHR" | "wahr", "falsch" | "FALSCH" |
| Execute_Every_Time | Nummer | NEIN | 5 | * | 60 |
| Execute_time_unit | Saite | NEIN | "Sekunden" | "Sekunden", "Minuten", "Stunden", "Tage", "Monate", "Jahre" | "Minuten" |
| Mongo_password | Saite | NEIN | "prüfen" | * | |
| Mongo_username | Saite | NEIN | "prüfen" | * | |
| Mongo_url | Saite | Ja | "MongoDB: // Test: test@mongo" | * | |
| Database_Name | Saite | Ja | "Prüfen" | * | |
| Collection_Name | Saite | Ja | "Webhooks" | * | |
| Field_date | Saite | Ja | "Created_at" | * | |
| Optional_queries | Saite | NEIN | "{" env ":" Entwicklung "}" | * | "{}" |
| Delete_documents | Saite | NEIN | "WAHR" | "wahr", "falsch" | "FALSCH" |
Sie können den Job aktivieren, um eine E -Mail über SendGrid zu senden, wenn der Job mit Erfolg oder Fehler ausgeführt wird!
Um dies zu aktivieren, benötigen Sie nur 2 Dinge: 1- Sie haben ein SendGrid-Konto 2- Konfigurieren Sie dieses Envs:
| Umgebungsvariable | Typ | Erforderlich | Beispiel | Mögliche Werte | Standardwert |
|---|---|---|---|---|---|
| Benachrichtigung_Provider | Saite | Ja | "Sendgrid" | "Sendgrid" | |
| SENDGRID_API_KEY | Saite | Ja | * | ||
| To_email | Saite | Ja | * | ||
| Von_email | Saite | Ja | * |