Este projeto é feito no NodeJS (JavaScript), para executar um Cronjob para excluir os documentos em MongoDB ou Scylladb, que correspondem às consultas!
Este projeto existe para ajudar os desenvolvedores ou administradores de banco de dados, a ter outra maneira de excluir documentos antigos, que não é mais necessário!
No TTL, o documento é excluído quando o valor do campo indexado é mais antigo que a data atual!
Exemplo:
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, será excluído no futuro, a data atual precisa ser 2024-03-01T17:23:19.655Z ou mais nova, como 2024-03-01T17:30:19.655Z !
Mas, se você precisar excluir o documento, quando outra regra precisar ser verdadeira, você usará este projeto!
Este projeto é feito no NodeJS (LTS) e use o MongoDB (motorista oficial) para conectar e excluir os documentos especificados!
Para usar este projeto, você precisa clonar isso, executando o seguinte comando:
git clone https://github.com/ramonpaolo/clear-job Antes do projeto, pode ser necessário configurar o .env! Pode ser necessário renomear o .env.exemplo para .env !
Além .env , você pode executar o Docker-Compompose, ou o script.sh, para aumentar o Cronjob e o MongoDB para testes!
| Variável de ambiente | Tipo | Obrigatório | Exemplo | Valores possíveis | Valor padrão |
|---|---|---|---|---|---|
| Project_name | Corda | Sim | "Cronjob" | * | |
| App_name | Corda | Sim | "Cronjob" | * | |
| Node_env | Corda | Não | "desenvolvimento" | * | |
| Execute_when_init | Corda | Não | "verdadeiro" | "Verdadeiro", "falso" | "falso" |
| Execute_every_time | Número | Não | 5 | * | 60 |
| Execute_time_unit | Corda | Não | "segundos" | "segundos", "minutos", "horas", "dias", "meses", "anos" | "Minutos" |
| Mongo_password | Corda | Não | "teste" | * | |
| Mongo_username | Corda | Não | "teste" | * | |
| Mongo_url | Corda | Sim | "MongoDB: // teste: teste@mongo" | * | |
| Database_name | Corda | Sim | "Teste" | * | |
| Coleção_name | Corda | Sim | "Webhooks" | * | |
| Field_date | Corda | Sim | "Created_at" | * | |
| Opcional_queries | Corda | Não | "{" Env ":" Development "}" | * | "{}" |
| Delete_documents | Corda | Não | "verdadeiro" | "Verdadeiro", "falso" | "falso" |
Você pode permitir que o trabalho envie um email via sendGrid, quando o trabalho é executado com sucesso ou com erro!
Para permitir isso, você só precisa de 2 coisas: 1- Tenha uma conta SendGrid 2- Configure este envs:
| Variável de ambiente | Tipo | Obrigatório | Exemplo | Valores possíveis | Valor padrão |
|---|---|---|---|---|---|
| Notification_provider | Corda | Sim | "SendGrid" | "SendGrid" | |
| Sendgrid_api_key | Corda | Sim | * | ||
| To_email | Corda | Sim | * | ||
| From_Email | Corda | Sim | * |