โครงการนี้ทำใน 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 !
afther cofngiure .env , คุณสามารถเรียกใช้นักเทียบท่า-compose หรือ script.sh เพื่อเพิ่ม cronjob และ mongoDB สำหรับการทดสอบ!
| ตัวแปรสภาพแวดล้อม | พิมพ์ | ที่จำเป็น | ตัวอย่าง | ค่าที่เป็นไปได้ | ค่าเริ่มต้น |
|---|---|---|---|---|---|
| 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: // ทดสอบ: ทดสอบ@Mongo" | - | |
| database_name | สาย | ใช่ | "ทดสอบ" | - | |
| คอลเลกชัน _name | สาย | ใช่ | "webhooks" | - | |
| Field_date | สาย | ใช่ | "CreateD_at" | - | |
| ตัวเลือก _queries | สาย | เลขที่ | "{" env ":" การพัฒนา "}" | - | - |
| delete_documents | สาย | เลขที่ | "จริง" | "จริง", "เท็จ" | "เท็จ" |
คุณสามารถเปิดใช้งานงานเพื่อส่งอีเมลผ่าน SendGrid เมื่องานถูกดำเนินการด้วยความสำเร็จหรือมีข้อผิดพลาด!
ในการเปิดใช้งานสิ่งนี้คุณต้องการเพียง 2 สิ่งเท่านั้น: 1- มีบัญชี SendGrid 2- กำหนดค่า envs นี้:
| ตัวแปรสภาพแวดล้อม | พิมพ์ | ที่จำเป็น | ตัวอย่าง | ค่าที่เป็นไปได้ | ค่าเริ่มต้น |
|---|---|---|---|---|---|
| notification_provider | สาย | ใช่ | "SendGrid" | "SendGrid" | |
| sendgrid_api_key | สาย | ใช่ | - | ||
| to_email | สาย | ใช่ | - | ||
| จาก _EMAIL | สาย | ใช่ | - |