Proyek ini dibuat di NodeJs (JavaScript), untuk menjalankan cronjob untuk menghapus dokumen di MongoDB atau Scylladb, yang cocok dengan kueri!
Proyek ini ada untuk membantu pengembang atau admin database, untuk memiliki cara lain untuk menghapus dokumen lama, itu tidak lebih diperlukan!
Di TTL, dokumen dihapus ketika nilai bidang yang diindeks lebih tua dari tanggal saat ini!
Contoh:
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' ,
} Untuk dokumen ini dihapus di masa depan, tanggal saat ini harus 2024-03-01T17:23:19.655Z atau lebih baru, seperti 2024-03-01T17:30:19.655Z !
Tetapi, jika Anda perlu menghapus dokumen, ketika aturan lain harus benar, Anda akan menggunakan proyek ini!
Proyek ini dibuat di Nodejs (LTS), dan menggunakan MongoDB (Driver Resmi) untuk menghubungkan dan menghapus dokumen yang ditentukan!
Untuk menggunakan proyek ini, Anda perlu mengkloning ini, menjalankan perintah berikut:
git clone https://github.com/ramonpaolo/clear-job Sebelum proyek, Anda mungkin perlu mengkonfigurasi .env! Anda mungkin perlu mengganti nama .env.example menjadi .env !
Setelah cofngiure .env , Anda dapat menjalankan komposisi Docker, atau script.sh, untuk meningkatkan cronjob dan mongodb untuk tes!
| Variabel Lingkungan | Jenis | Diperlukan | Contoh | Nilai yang mungkin | Nilai default |
|---|---|---|---|---|---|
| Project_name | Rangkaian | Ya | "Cronjob" | * | |
| App_name | Rangkaian | Ya | "Cronjob" | * | |
| Node_env | Rangkaian | TIDAK | "perkembangan" | * | |
| Execute_when_init | Rangkaian | TIDAK | "BENAR" | "Benar", "false" | "PALSU" |
| Execute_every_time | Nomor | TIDAK | 5 | * | 60 |
| Execute_time_unit | Rangkaian | TIDAK | "detik" | "detik", "menit", "jam", "hari", "bulan", "tahun" | "Menit" |
| Mongo_password | Rangkaian | TIDAK | "tes" | * | |
| Mongo_username | Rangkaian | TIDAK | "tes" | * | |
| Mongo_url | Rangkaian | Ya | "MongoDB: // Test: Test@Mongo" | * | |
| Database_name | Rangkaian | Ya | "Tes" | * | |
| Collection_name | Rangkaian | Ya | "Webhooks" | * | |
| Field_date | Rangkaian | Ya | "create_at" | * | |
| Opsional_queries | Rangkaian | TIDAK | "{" env ":" pengembangan "}" | * | "{}" |
| Delete_documents | Rangkaian | TIDAK | "BENAR" | "Benar", "false" | "PALSU" |
Anda dapat mengaktifkan pekerjaan untuk mengirim email melalui SendGrid, saat pekerjaan dieksekusi dengan sukses, atau dengan kesalahan!
Untuk mengaktifkan ini, Anda hanya perlu 2 hal: 1- Miliki akun SendGrid 2- Konfigurasikan ini envs:
| Variabel Lingkungan | Jenis | Diperlukan | Contoh | Nilai yang mungkin | Nilai default |
|---|---|---|---|---|---|
| Notification_provider | Rangkaian | Ya | "SendGrid" | "SendGrid" | |
| Sendgrid_api_key | Rangkaian | Ya | * | ||
| To_email | Rangkaian | Ya | * | ||
| From_email | Rangkaian | Ya | * |