diff options
| author | Somhairle H. Marisol <[email protected]> | 2026-09-20 22:59:00 +0800 |
|---|---|---|
| committer | Somhairle H. Marisol <[email protected]> | 2026-09-20 22:59:00 +0800 |
| commit | c60905e9e7f992a7f8c79c3812e92a44b2d606f5 (patch) | |
| tree | a895bc6f0ebe669407ffe4d1a11439e03a6fe0d4 /src/FundLab.Worker | |
| download | fund-lab-c60905e9e7f992a7f8c79c3812e92a44b2d606f5.tar.gz | |
feat(core): 建立 fund-lab 可运行基线
[变更性质]
- 本提交冻结当前可构建、可测试的应用基线,不包含 PostgreSQL 持久化。
[新增功能]
- 建立 F# Domain、API、Worker、Web 及测试项目。
- 增加 Bearer 认证、健康检查、账本领域模型和中文空状态页面。
[实现方案]
- 使用环境变量模板注入认证配置,并排除数据、凭证和构建产物。
- 保留 19 个 Domain 测试和 5 个 API 测试作为后续变更基准。
[影响范围]
- 为后续 3a PostgreSQL FOF 创建/读取切片提供可回滚基线。
- 当前仍不接入真实基金数据、真实交易或数据库。
Diffstat (limited to 'src/FundLab.Worker')
| -rw-r--r-- | src/FundLab.Worker/FundLab.Worker.fsproj | 18 | ||||
| -rw-r--r-- | src/FundLab.Worker/Program.fs | 12 | ||||
| -rw-r--r-- | src/FundLab.Worker/Worker.fs | 15 |
3 files changed, 45 insertions, 0 deletions
diff --git a/src/FundLab.Worker/FundLab.Worker.fsproj b/src/FundLab.Worker/FundLab.Worker.fsproj new file mode 100644 index 0000000..9694479 --- /dev/null +++ b/src/FundLab.Worker/FundLab.Worker.fsproj @@ -0,0 +1,18 @@ +<Project Sdk="Microsoft.NET.Sdk.Worker"> + <PropertyGroup> + <TargetFramework>net8.0</TargetFramework> + <OutputType>Exe</OutputType> + <TreatWarningsAsErrors>true</TreatWarningsAsErrors> + <Nullable>enable</Nullable> + </PropertyGroup> + <ItemGroup> + <PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.1" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\FundLab.Domain\FundLab.Domain.fsproj" /> + </ItemGroup> + <ItemGroup> + <Compile Include="Worker.fs" /> + <Compile Include="Program.fs" /> + </ItemGroup> +</Project> diff --git a/src/FundLab.Worker/Program.fs b/src/FundLab.Worker/Program.fs new file mode 100644 index 0000000..058d9b7 --- /dev/null +++ b/src/FundLab.Worker/Program.fs @@ -0,0 +1,12 @@ +module FundLab.Worker.Program + +open Microsoft.Extensions.DependencyInjection +open Microsoft.Extensions.Hosting + +[<EntryPoint>] +let main argv = + Host.CreateDefaultBuilder(argv) + .ConfigureServices(fun services -> services.AddHostedService<Worker>() |> ignore) + .Build() + .Run() + 0 diff --git a/src/FundLab.Worker/Worker.fs b/src/FundLab.Worker/Worker.fs new file mode 100644 index 0000000..6a7b7a7 --- /dev/null +++ b/src/FundLab.Worker/Worker.fs @@ -0,0 +1,15 @@ +namespace FundLab.Worker + +open System +open System.Threading +open System.Threading.Tasks +open Microsoft.Extensions.Hosting + +type Worker() = + inherit BackgroundService() + + override _.ExecuteAsync(stoppingToken: CancellationToken) : Task = + task { + while not stoppingToken.IsCancellationRequested do + do! Task.Delay(TimeSpan.FromMinutes 5, stoppingToken) + } |
