* Trading bot Grain * Fix a bit more of the trading bot * Advance on the tradingbot grain * Fix build * Fix db script * Fix user login * Fix a bit backtest * Fix cooldown and backtest * start fixing bot start * Fix startup * Setup local db * Fix build and update candles and scenario * Add bot registry * Add reminder * Updateing the grains * fix bootstraping * Save stats on tick * Save bot data every tick * Fix serialization * fix save bot stats * Fix get candles * use dict instead of list for position * Switch hashset to dict * Fix a bit * Fix bot launch and bot view * add migrations * Remove the tolist * Add agent grain * Save agent summary * clean * Add save bot * Update get bots * Add get bots * Fix stop/restart * fix Update config * Update scanner table on new backtest saved * Fix backtestRowDetails.tsx * Fix agentIndex * Update agentIndex * Fix more things * Update user cache * Fix * Fix account load/start/restart/run
36 lines
980 B
C#
36 lines
980 B
C#
using Orleans;
|
|
|
|
namespace Managing.Application.Abstractions.Grains;
|
|
|
|
/// <summary>
|
|
/// Orleans grain state for BotRegistry.
|
|
/// This class represents the persistent state of the bot registry grain.
|
|
/// All properties must be serializable for Orleans state management.
|
|
/// </summary>
|
|
[GenerateSerializer]
|
|
public class BotRegistryState
|
|
{
|
|
/// <summary>
|
|
/// Dictionary containing all registered bots. The key is the identifier.
|
|
/// </summary>
|
|
[Id(0)]
|
|
public Dictionary<Guid, BotRegistryEntry> Bots { get; set; } = new();
|
|
|
|
/// <summary>
|
|
/// When the registry was last updated
|
|
/// </summary>
|
|
[Id(1)]
|
|
public DateTime LastUpdated { get; set; } = DateTime.UtcNow;
|
|
|
|
/// <summary>
|
|
/// Total number of bots currently registered
|
|
/// </summary>
|
|
[Id(2)]
|
|
public int TotalBotsCount { get; set; }
|
|
|
|
/// <summary>
|
|
/// Number of active bots (status = Up)
|
|
/// </summary>
|
|
[Id(3)]
|
|
public int ActiveBotsCount { get; set; }
|
|
} |