docker files fixes from liaqat

This commit is contained in:
alirehmani
2024-05-03 16:39:25 +05:00
commit 464a8730e8
587 changed files with 44288 additions and 0 deletions

View File

@@ -0,0 +1,75 @@
using static Managing.Common.Enums;
namespace Managing.Domain.Bots
{
/// <summary>
/// A bot define what code should be run.
/// To run a code you have to herit from this class and implement the Run() method
/// </summary>
public abstract class Bot : IBot
{
public int ExecutionCount;
public string Identifier { get; set; }
public string Name { get; set; }
public int Interval { get; set; }
public BotStatus Status { get; set; }
private CancellationTokenSource CancellationToken { get; set; }
public Bot(string name)
{
Identifier = $"{name}-{DateTime.Now:yyyyMMdd-hhmm}-{Guid.NewGuid()}";
Name = name;
Status = BotStatus.Down;
CancellationToken = new CancellationTokenSource();
ExecutionCount = 0;
}
public virtual void Start()
{
Status = BotStatus.Up;
}
public async Task InitWorker(Func<Task> action)
{
await Task.Run(async () =>
{
while (Status == BotStatus.Up)
{
try
{
await action();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
ExecutionCount++;
await Task.Delay(Interval, CancellationToken.Token);
if (CancellationToken.IsCancellationRequested)
break;
}
}, CancellationToken.Token);
}
public void Stop()
{
Status = BotStatus.Down;
//CancellationToken.Cancel();
}
public void Restart()
{
Status = BotStatus.Up;
}
public string GetStatus()
{
return Status.ToString();
}
public string GetName()
{
return Name;
}
}
}

View File

@@ -0,0 +1,12 @@
namespace Managing.Domain.Bots
{
public interface IBot
{
string Name { get; set; }
void Start();
void Stop();
void Restart();
string GetStatus();
string GetName();
}
}