- Add storing bot response messages in postgres
- Add scheduled task to clean up said store
This commit is contained in:
@@ -9,6 +9,8 @@ using App.Metrics;
|
||||
|
||||
using Autofac;
|
||||
|
||||
using Dapper;
|
||||
|
||||
using DSharpPlus;
|
||||
using DSharpPlus.Entities;
|
||||
using DSharpPlus.EventArgs;
|
||||
@@ -34,18 +36,21 @@ namespace PluralKit.Bot
|
||||
private readonly PeriodicStatCollector _collector;
|
||||
private readonly IMetrics _metrics;
|
||||
private readonly ErrorMessageService _errorMessageService;
|
||||
private readonly IDatabase _db;
|
||||
|
||||
private bool _hasReceivedReady = false;
|
||||
private Timer _periodicTask; // Never read, just kept here for GC reasons
|
||||
|
||||
public Bot(DiscordShardedClient client, ILifetimeScope services, ILogger logger, PeriodicStatCollector collector, IMetrics metrics, ErrorMessageService errorMessageService)
|
||||
public Bot(DiscordShardedClient client, ILifetimeScope services, ILogger logger, PeriodicStatCollector collector, IMetrics metrics,
|
||||
ErrorMessageService errorMessageService, IDatabase db)
|
||||
{
|
||||
_client = client;
|
||||
_logger = logger.ForContext<Bot>();
|
||||
_services = services;
|
||||
_collector = collector;
|
||||
_metrics = metrics;
|
||||
_errorMessageService = errorMessageService;
|
||||
_logger = logger.ForContext<Bot>();
|
||||
_db = db;
|
||||
}
|
||||
|
||||
public void Init()
|
||||
@@ -177,6 +182,9 @@ namespace PluralKit.Bot
|
||||
|
||||
await UpdateBotStatus();
|
||||
|
||||
// Clean up message cache in postgres
|
||||
await _db.Execute(conn => conn.QueryAsync("select from cleanup_command_message()"));
|
||||
|
||||
// Collect some stats, submit them to the metrics backend
|
||||
await _collector.CollectStats();
|
||||
await Task.WhenAll(((IMetricsRoot) _metrics).ReportRunner.RunAllAsync());
|
||||
|
Reference in New Issue
Block a user