From 340192d7f0d34d8bc855b5b3efe76d270ffef1a5 Mon Sep 17 00:00:00 2001 From: Mohammad Mahdi Mohammadi Date: Sun, 22 Dec 2024 18:47:14 +0330 Subject: [PATCH] Fixed database update - general improvements --- Services/HandleDbBackup.cs | 4 ++-- Services/PostResolver.cs | 7 ++++--- Services/ProcessPosts.cs | 6 +++++- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/Services/HandleDbBackup.cs b/Services/HandleDbBackup.cs index 3067953..800de90 100755 --- a/Services/HandleDbBackup.cs +++ b/Services/HandleDbBackup.cs @@ -22,8 +22,8 @@ public class HandleDbBackup var stream = new MemoryStream(bytes); var postCount = await _db.CountDocumentsAsync(new BsonDocument()); var caption = - $"Backup of the database {dbname}
Created at {DateTime.Now:yyyy-MM-dd HH:mm:ss}
Current post count: {postCount}"; - await _bot.SendDocument(adminId, InputFile.FromStream(stream, "backup.json"), caption, ParseMode.Html); + $"Backup of the database: {dbname}\nCreated at {DateTime.Now:yyyy-MM-dd HH:mm:ss}\nCurrent post count: {postCount}"; + await _bot.SendDocument(adminId, InputFile.FromStream(stream, "backup.json"), caption); logger?.LogInformation("Backup sent"); } catch(Exception ex){ diff --git a/Services/PostResolver.cs b/Services/PostResolver.cs index 7e2e10b..ac3bef4 100755 --- a/Services/PostResolver.cs +++ b/Services/PostResolver.cs @@ -15,9 +15,10 @@ public sealed class PostResolver var response = await _httpClient.GetAsync(requestUrl); // Print out ratelimit info - logger?.LogInformation("Remaining requests: " + - response.Headers.GetValues("X-RateLimit-Remaining").First() + "time to reset: " + - response.Headers.GetValues("X-RateLimit-Reset").First()); + var remainingTime = int.Parse(response.Headers.GetValues("X-RateLimit-Remaining").First()); + var resetTime = DateTime.Parse(response.Headers.GetValues("X-RateLimit-Reset").First()); + var diff = resetTime - DateTime.UtcNow; + logger?.LogInformation($"Remaining requests: {remainingTime}, ratelimit reset in {diff.Hours} hours {diff.Minutes} minutes {diff.Seconds} seconds"); // Check if response is ok if ( diff --git a/Services/ProcessPosts.cs b/Services/ProcessPosts.cs index 2963716..b23f5bc 100755 --- a/Services/ProcessPosts.cs +++ b/Services/ProcessPosts.cs @@ -48,7 +48,11 @@ public class ProcessPosts } // Insert post - await _db.InsertManyAsync(validPosts); + if (validPosts.Count != 0) + { + await _db.InsertManyAsync(validPosts); + } + logger?.LogInformation( $"Proccesing done, stats: received {fetchedPosts.Count} posts, inserted and sent {newPosts} new posts.");