このプロジェクトは、cronjobを実行して、クエリと一致するmongodbまたはscylladbのドキュメントを削除するために、nodejs(javascript)で作成されています!
このプロジェクトは、開発者またはデータベース管理者が古いドキュメントを削除する別の方法を持つのを支援するために存在しますが、それはそれほど必要ありません!
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に変更する必要がある場合があります!
.envをcofngiureすると、テスト用にdocker-composeまたはscript.shをcronjobとmongodbを上げることができます!
| 環境変数 | タイプ | 必須 | 例 | 考えられる値 | デフォルト値 |
|---|---|---|---|---|---|
| project_name | 弦 | はい | 「クロンジョブ」 | * | |
| app_name | 弦 | はい | 「クロンジョブ」 | * | |
| 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 | 弦 | はい | 「created_at」 | * | |
| optional_queries | 弦 | いいえ | "{" env ":" development "}" | * | 「{}」 |
| delete_documents | 弦 | いいえ | "真実" | 「真」、「偽」 | "間違い" |
ジョブが成功したとき、またはエラーで実行されたときに、sendgrid経由でメールを送信できるようにすることができます!
これを有効にするには、2つのことのみが必要です。1-sendgridアカウントを持っている2-これを構成するvens:
| 環境変数 | タイプ | 必須 | 例 | 考えられる値 | デフォルト値 |
|---|---|---|---|---|---|
| notification_provider | 弦 | はい | 「SendGrid」 | 「SendGrid」 | |
| sendgrid_api_key | 弦 | はい | * | ||
| to_email | 弦 | はい | * | ||
| from_email | 弦 | はい | * |