5 Commits

Author SHA1 Message Date
ef187f8750 Basic Structure of new Background Service SystemManagement 2025-10-09 20:27:37 +02:00
570b5abfa0 Merge pull request 'pipeline job umbenannt' (#29) from bugix/pipeline into staging
All checks were successful
Gitea CI/CD / dotnet-build-and-test (push) Successful in 55s
Gitea CI/CD / Set Tag Name (push) Successful in 5s
Gitea CI/CD / docker-build-and-push (push) Successful in 6m17s
Gitea CI/CD / Create Tag (push) Successful in 5s
Reviewed-on: #29
2025-10-04 19:08:22 +02:00
8f938f999e pipeline job umbenannt 2025-10-04 19:07:49 +02:00
2249d1a776 adde debugging to build.yml
All checks were successful
Gitea CI/CD / build-and-test (push) Successful in 48s
Gitea CI/CD / Set Tag Name (push) Successful in 4s
Gitea CI/CD / docker-build-and-push (push) Successful in 6m12s
Gitea CI/CD / Create Tag (push) Successful in 5s
2025-10-04 14:43:02 +02:00
37de21f06b testing tagging
All checks were successful
Gitea CI/CD / build-and-test (push) Successful in 46s
Gitea CI/CD / Set Tag Name (push) Successful in 5s
Gitea CI/CD / docker-build-and-push (push) Successful in 6m15s
Gitea CI/CD / Create Tag (push) Successful in 5s
2025-10-04 14:32:04 +02:00
5 changed files with 64 additions and 3 deletions

View File

@@ -17,7 +17,7 @@ concurrency:
cancel-in-progress: true
jobs:
build-and-test:
dotnet-build-and-test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
@@ -43,7 +43,7 @@ jobs:
set-tag:
name: Set Tag Name
needs: [build-and-test]
needs: [dotnet-build-and-test]
#if: ${{ !failure() && !cancelled() && github.event_name != 'pull_request' }}
runs-on: ubuntu-latest
outputs:
@@ -95,7 +95,7 @@ jobs:
docker-build-and-push:
runs-on: ubuntu-latest
needs: [build-and-test, set-tag]
needs: [dotnet-build-and-test, set-tag]
if: |
needs.set-tag.outputs.should_tag == 'true' &&
github.event_name != 'pull_request'

View File

@@ -36,6 +36,7 @@ builder.Services.AddHttpContextAccessor();
// Storage Singleton
builder.Services.AddSingleton<IDashboardStore, DashboardStore>();
builder.Services.AddSingleton<ISystemStore, SystemStore>();
// Background Services
builder.Services.AddHostedService<NetworkCheck>();

View File

@@ -0,0 +1,9 @@
namespace Watcher.Services;
public interface ISystemStore
{
Boolean NewVersionAvailable { get; set; }
Double DatabaseSize { get; set; }
}

View File

@@ -0,0 +1,42 @@
using System.Net.Http;
namespace Watcher.Services;
public class SystemManagement : BackgroundService
{
private readonly ILogger<NetworkCheck> _logger;
private ISystemStore _SystemStore;
public SystemManagement(ILogger<NetworkCheck> logger, ISystemStore SystemStore)
{
_logger = logger;
_SystemStore = SystemStore;
}
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
// Todo: Umstellen auf einmal alle 24h
var timer = new PeriodicTimer(TimeSpan.FromSeconds(30));
while (await timer.WaitForNextTickAsync(stoppingToken))
{
// Hintergrundprozess abwarten
await checkForNewDockerImageVersion();
// 5 Sekdunden Offset
await Task.Delay(TimeSpan.FromSeconds(5), stoppingToken);
}
}
public Task checkForNewDockerImageVersion()
{
return Task.CompletedTask;
}
public Task createDailySqliteBackup()
{
return Task.CompletedTask;
}
}

View File

@@ -0,0 +1,9 @@
namespace Watcher.Services;
public class SystemStore: ISystemStore
{
public Boolean NewVersionAvailable { get; set; }
public Double DatabaseSize { get; set; }
}