Este proyecto se realiza en NodeJS (JavaScript), para ejecutar un Cronjob para eliminar los documentos en MongoDB o Scylladb, ¡que coinciden con las consultas!
Este proyecto existe para ayudar a los desarrolladores o administradores de la base de datos, a tener otra forma de eliminar documentos antiguos, ¡eso no es más necesario!
En TTL, el documento se elimina cuando el valor del campo indexado es más antiguo que la fecha actual.
Ejemplo:
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' ,
} Para este documento se eliminará en el futuro, la fecha actual debe ser 2024-03-01T17:23:19.655Z o más nueva, como 2024-03-01T17:30:19.655Z !
Pero, si necesita eliminar el documento, cuando se necesita otra regla, ¡usará este proyecto!
¡Este proyecto se realiza en NodeJS (LTS) y usa el MongoDB (controlador oficial) para conectar y eliminar los documentos especificados!
Para usar este proyecto, debe clonar esto, ejecutando el siguiente comando:
git clone https://github.com/ramonpaolo/clear-job Antes del proyecto, es posible que deba configurar el .env! Es posible que deba cambiar el nombre de .env.example a .env !
¡Afther cofngiure el .env , puede ejecutar el Docker-Compose, o el Script.Sh, para aumentar el Cronjob y el MongoDB para las pruebas!
| Variable de entorno | Tipo | Requerido | Ejemplo | Valores posibles | Valor predeterminado |
|---|---|---|---|---|---|
| Proyecto_name | Cadena | Sí | "Cronjob" | * | |
| App_name | Cadena | Sí | "Cronjob" | * | |
| Nodo_env | Cadena | No | "desarrollo" | * | |
| Ejecutar_when_init | Cadena | No | "verdadero" | "verdadero", "falso" | "FALSO" |
| Ejecutar_every_time | Número | No | 5 | * | 60 |
| Ejecutar_time_unit | Cadena | No | "artículos de segunda clase" | "segundos", "minutos", "horas", "días", "meses", "años" | "minutos" |
| Mongo_password | Cadena | No | "prueba" | * | |
| Mongo_Username | Cadena | No | "prueba" | * | |
| Mongo_url | Cadena | Sí | "MongoDB: // Test: Test@Mongo" | * | |
| Database_name | Cadena | Sí | "Prueba" | * | |
| Colección_name | Cadena | Sí | "Webhooks" | * | |
| Field_date | Cadena | Sí | "creado_at" | * | |
| Opcional_queries | Cadena | No | "{" env ":" desarrollo "}" | * | "{}" |
| Delete_documentos | Cadena | No | "verdadero" | "verdadero", "falso" | "FALSO" |
¡Puede habilitar el trabajo para enviar un correo electrónico a través de SendGrid, cuando el trabajo se ejecuta con éxito o con error!
Para habilitar esto, solo necesita 2 cosas: 1- Tener una cuenta de SendGrid 2- Configure estos envs:
| Variable de entorno | Tipo | Requerido | Ejemplo | Valores posibles | Valor predeterminado |
|---|---|---|---|---|---|
| Notificación_provider | Cadena | Sí | "SendGrid" | "SendGrid" | |
| SendGrid_api_key | Cadena | Sí | * | ||
| To_Email | Cadena | Sí | * | ||
| From_email | Cadena | Sí | * |