From ab621554cef2ce4c639dcf69011411a875347539 Mon Sep 17 00:00:00 2001 From: cryptooda Date: Mon, 22 Jul 2024 03:20:13 +0700 Subject: [PATCH] Fix Backup and fix worker discord --- src/Managing.Api.Workers/appsettings.json | 39 +++++++++++++++++++ src/Managing.Api/Workers/BotManagerWorker.cs | 4 +- src/Managing.Api/appsettings.json | 2 +- .../ManageBot/BotService.cs | 14 +++++-- src/Managing.Domain/Bots/Bot.cs | 3 +- 5 files changed, 54 insertions(+), 8 deletions(-) create mode 100644 src/Managing.Api.Workers/appsettings.json diff --git a/src/Managing.Api.Workers/appsettings.json b/src/Managing.Api.Workers/appsettings.json new file mode 100644 index 0000000..f101036 --- /dev/null +++ b/src/Managing.Api.Workers/appsettings.json @@ -0,0 +1,39 @@ +{ + "ManagingDatabase": { + "ConnectionString": "mongodb://managingdb", + "DatabaseName": "ManagingDb" + }, + "InfluxDb": { + "Url": "http://influxdb:8086/", + "Organization": "", + "Token": "" + }, + "Serilog": { + "MinimumLevel": { + "Default": "Information", + "Override": { + "Microsoft": "Information", + "System": "Warning" + } + } + }, + "ElasticConfiguration": { + "Uri": "http://elasticsearch:9200" + }, + "Discord": { + "BotActivity": "with jobs", + "HandleUserAction": true, + "ApplicationId": "1132062339592622221", + "PublicKey": "e422f3326307788608eceba919497d3f2758cc64d20bb8a6504c695192404808", + "TokenId": "MTEzMjA2MjMzOTU5MjYyMjIyMQ.GySuNX.rU-9uIX6-yDthBjT_sbXioaJGyJva2ABNNEaj4", + "SignalChannelId": 966080506473099314, + "TradesChannelId": 998374177763491851, + "TroublesChannelId": 1015761955321040917, + "CopyTradingChannelId": 1132022887012909126, + "RequestsChannelId": 1018589494968078356, + "FundingRateChannelId": 1263566138709774336, + "LeaderboardChannelId": 1133169725237633095, + "ButtonExpirationMinutes": 10 + }, + "AllowedHosts": "*" +} \ No newline at end of file diff --git a/src/Managing.Api/Workers/BotManagerWorker.cs b/src/Managing.Api/Workers/BotManagerWorker.cs index b58aa6f..ac844fc 100644 --- a/src/Managing.Api/Workers/BotManagerWorker.cs +++ b/src/Managing.Api/Workers/BotManagerWorker.cs @@ -12,7 +12,7 @@ public class BotManagerWorker( IWorkerService workerService) : BaseWorker(WorkerType.BotManager, logger, - TimeSpan.FromMinutes(1), + TimeSpan.FromMinutes(5), workerService) { protected override async Task Run(CancellationToken cancellationToken) @@ -20,4 +20,4 @@ public class BotManagerWorker( var loadBackupBotCommand = new LoadBackupBotCommand(); await mediadior.Send(loadBackupBotCommand, cancellationToken); } -} +} \ No newline at end of file diff --git a/src/Managing.Api/appsettings.json b/src/Managing.Api/appsettings.json index b7f3ec1..4bc4253 100644 --- a/src/Managing.Api/appsettings.json +++ b/src/Managing.Api/appsettings.json @@ -34,7 +34,7 @@ "Uri": "http://elasticsearch:9200/" }, "Discord": { - "BotActivity": "trading strategies", + "BotActivity": "with trading strategies", "HandleUserAction": true, "ApplicationId": "966075382002516031", "PublicKey": "63028f6bb740cd5d26ae0340b582dee2075624011b28757436255fc002ca8a7c", diff --git a/src/Managing.Application/ManageBot/BotService.cs b/src/Managing.Application/ManageBot/BotService.cs index 0f47663..5a7a731 100644 --- a/src/Managing.Application/ManageBot/BotService.cs +++ b/src/Managing.Application/ManageBot/BotService.cs @@ -173,15 +173,21 @@ namespace Managing.Application.ManageBot return Enums.BotStatus.Down.ToString(); } - public Task DeleteBot(string botName) + public async Task DeleteBot(string botName) { - if (_botTasks.TryRemove(botName, out _)) + if (_botTasks.TryRemove(botName, out var botWrapper)) { + if (botWrapper.BotInstance is IBot bot) + { + await Task.Run(() => + bot.Stop()); // Assuming Stop is an asynchronous process wrapped in Task.Run for synchronous methods + } + _botRepository.DeleteBotBackup(botName); - return Task.FromResult(true); + return true; } - return Task.FromResult(false); + return false; } public Task RestartBot(string botName) diff --git a/src/Managing.Domain/Bots/Bot.cs b/src/Managing.Domain/Bots/Bot.cs index 9911d32..b42b398 100644 --- a/src/Managing.Domain/Bots/Bot.cs +++ b/src/Managing.Domain/Bots/Bot.cs @@ -43,6 +43,7 @@ namespace Managing.Domain.Bots { Console.WriteLine(ex.Message); } + ExecutionCount++; await Task.Delay(Interval, CancellationToken.Token); if (CancellationToken.IsCancellationRequested) @@ -54,7 +55,7 @@ namespace Managing.Domain.Bots public void Stop() { Status = BotStatus.Down; - //CancellationToken.Cancel(); + CancellationToken.Cancel(); } public void Restart()