Этот проект сделан в Nodejs (JavaScript), чтобы выполнить Cronjob, чтобы удалить документы в Mongodb или Scylladb, которые соответствуют запросам!
Этот проект существует, чтобы помочь разработчикам или администраторам базы данных, чтобы иметь другой способ удаления старых документов, что не является более необходимым!
В TTL документ удаляется, когда значение индексированного поля более старое, чем текущая дата!
Пример:
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' ,
} В этот документ будет удален в будущем, текущая дата должна быть 2024-03-01T17:23:19.655Z или более нового, как 2024-03-01T17:30:19.655Z !
Но, если вам нужно удалить документ, когда должно быть другое правило, вы будете использовать этот проект!
Этот проект сделан в Nodejs (LTS) и используйте MongoDB (официальный драйвер) для подключения и удаления указанных документов!
Чтобы использовать этот проект, вам нужно клонировать его, выполняя следующую команду:
git clone https://github.com/ramonpaolo/clear-job Перед тем, как проект, вам может потребоваться настроить .env! Вам может потребоваться переименовать .env.example в .env !
Если вы можете запустить Docker-Compose, или .env .
| Переменная среды | Тип | Необходимый | Пример | Возможные значения | Значение по умолчанию |
|---|---|---|---|---|---|
| Project_name | Нить | Да | "Cronjob" | * | |
| App_name | Нить | Да | "Cronjob" | * | |
| Node_env | Нить | Нет | "разработка" | * | |
| Execute_when_init | Нить | Нет | "истинный" | "Истинно", "Ложь" | "ЛОЖЬ" |
| Execute_every_time | Число | Нет | 5 | * | 60 |
| Execute_time_unit | Нить | Нет | "Секунды" | «Секунды», «Протокол», «часы», «Дни», «Месяцы», «Годы» | "Минуты" |
| Mongo_password | Нить | Нет | "тест" | * | |
| Mongo_username | Нить | Нет | "тест" | * | |
| Mongo_url | Нить | Да | "Mongodb: // test: test@mongo" | * | |
| Database_Name | Нить | Да | "Тест" | * | |
| Collection_name | Нить | Да | "Webhooks" | * | |
| Field_date | Нить | Да | "Создан_ат" | * | |
| Необходимый_queries | Нить | Нет | "{" env ":" Развитие "}" | * | "{}" |
| Delete_documents | Нить | Нет | "истинный" | "Истинно", "Ложь" | "ЛОЖЬ" |
Вы можете разрешить работу отправить электронное письмо через SendGrid, когда задание выполняется с успехом или с ошибкой!
Чтобы включить это, вам нужно только 2 вещи: 1- Иметь учетную запись SendGrid 2- Настройте эту Envs:
| Переменная среды | Тип | Необходимый | Пример | Возможные значения | Значение по умолчанию |
|---|---|---|---|---|---|
| Уведомление_Провидер | Нить | Да | "SendGrid" | "SendGrid" | |
| Sendgrid_api_key | Нить | Да | * | ||
| To_email | Нить | Да | * | ||
| From_email | Нить | Да | * |