Skip to content

Commit b3a6991

Browse files
authored
Target Propulsion 2.11.0 (#101)
1 parent cc59f41 commit b3a6991

File tree

46 files changed

+132
-214
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+132
-214
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ The `Unreleased` section name is replaced by the expected version of next releas
1717

1818
- Added defaulting of 1 min for lag reporting frequency to all Cosmos consumers [#95](https://github.com/jet/dotnet-templates/pull/95)
1919
- `eqxPatterns`: replace best effort deduplication pattern with exactly-once ingestion [#94](https://github.com/jet/dotnet-templates/pull/94)
20+
- Target `Propulsion` v `2.11.0`, `Equinox` v `3.0.4` [#101](https://github.com/jet/dotnet-templates/pull/101)
21+
- Target `Destructurama.FSharp` v `1.2.0`, `Serilog.Sinks.Async` v `1.5.0`, `Serilog.Sinks.Console` v `4.0.0` [#101](https://github.com/jet/dotnet-templates/pull/101)
2022

2123
### Removed
2224
### Fixed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ The following templates focus specifically on the usage of `Propulsion` componen
3636
- [`proConsumer`](propulsion-consumer/README.md) - Boilerplate for an Apache Kafka Consumer using [`Propulsion.Kafka`](https://github.com/jet/propulsion) (typically consuming from an app produced with `dotnet new proProjector -k`).
3737

3838
- [`periodicIngester`](periodic-ingester/) - Boilerplate for a service that regularly walks the content of a source, feeding it into a propulsion projector in order to manage the ingestion process using [`Propulsion.Feed.PeriodicSource`](https://github.com/jet/propulsion)
39-
-
39+
4040
## Producer/Reactor Templates combining usage of Equinox and Propulsion
4141

4242
The bulk of the remaining templates have a consumer aspect, and hence involve usage of `Propulsion`.
@@ -326,7 +326,7 @@ The `run` function formalizes the overall pattern. It is responsible for:
326326
```
327327
let run args = async {
328328
use consumer = start args
329-
return! consumer.AwaitCompletion()
329+
return! consumer.AwaitWithStopOnCancellation()
330330
}
331331
332332
[<EntryPoint>]

equinox-patterns/Domain/Domain.fsproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
</ItemGroup>
1616

1717
<ItemGroup>
18-
<PackageReference Include="Equinox.MemoryStore" Version="3.0.1" />
19-
<PackageReference Include="Equinox.CosmosStore" Version="3.0.1" />
18+
<PackageReference Include="Equinox.MemoryStore" Version="3.0.4" />
19+
<PackageReference Include="Equinox.CosmosStore" Version="3.0.4" />
2020
<PackageReference Include="FsCodec.NewtonsoftJson" Version="2.0.1" />
2121
</ItemGroup>
22-
22+
2323
</Project>

equinox-patterns/Domain/Types.fs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ module ListEpochId =
2929

3030
/// Identifies an Item stored within an Epoch
3131
/// TODO replace `Item` with a Domain term referencing the specific element being managed
32-
3332
type ItemId = string<itemId>
3433
and [<Measure>] itemId
3534
module ItemId =

equinox-shipping/Domain.Tests/Domain.Tests.fsproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<ItemGroup>
2020
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.2.0" />
2121

22-
<PackageReference Include="Equinox.MemoryStore" Version="3.0.1" />
22+
<PackageReference Include="Equinox.MemoryStore" Version="3.0.4" />
2323
<PackageReference Include="FsCheck.Xunit" Version="2.14.2" />
2424
<PackageReference Include="unquote" Version="5.0.0" />
2525
<PackageReference Include="xunit" Version="2.4.1" />

equinox-shipping/Domain/Domain.fsproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
</ItemGroup>
1717

1818
<ItemGroup>
19-
<PackageReference Include="Equinox.CosmosStore" Version="3.0.1" />
19+
<PackageReference Include="Equinox.CosmosStore" Version="3.0.4" />
2020
</ItemGroup>
2121

2222
</Project>

equinox-shipping/Watchdog.Integration/PropulsionInfrastructure.fs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ type MemoryStoreProjector<'F, 'B> private (log, inner : Propulsion.ProjectorPipe
4646
Observable.subscribe this.Submit source
4747

4848
/// Waits until all <c>Submit</c>ted batches have been fed into the <c>inner</c> Projector
49-
member _.AwaitCompletion
49+
member _.AwaitWithStopOnCancellation
5050
( /// sleep time while awaiting completion
5151
?delay,
5252
/// interval at which to log progress of Projector loop
@@ -72,7 +72,7 @@ type MemoryStoreProjector<'F, 'B> private (log, inner : Propulsion.ProjectorPipe
7272
inner.Stop()
7373
// trigger termination of GetConsumingEnumerable()-driven pumping loop
7474
queue.CompleteAdding()
75-
return! inner.AwaitCompletion()
75+
return! inner.AwaitWithStopOnCancellation()
7676
}
7777

7878
type TestOutputAdapter(testOutput : Xunit.Abstractions.ITestOutputHelper) =

equinox-shipping/Watchdog.Integration/Watchdog.Integration.fsproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<ItemGroup>
1818
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.2.0" />
1919

20-
<PackageReference Include="Equinox.MemoryStore" Version="3.0.1" />
20+
<PackageReference Include="Equinox.MemoryStore" Version="3.0.4" />
2121
<PackageReference Include="FsCheck.Xunit" Version="2.14.2" />
2222
<PackageReference Include="unquote" Version="5.0.0" />
2323
<PackageReference Include="xunit" Version="2.4.1" />

equinox-shipping/Watchdog.Integration/WatchdogIntegrationTests.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ type WatchdogIntegrationTests(output) =
3434
with :? TimeoutException -> timeouts <- timeouts + 1
3535

3636
log.Information("Awaiting batches: {counts} ({timeouts}/{total} timeouts)", counts, timeouts, counts.Count)
37-
do! projector.AwaitCompletion()
37+
do! projector.AwaitWithStopOnCancellation()
3838
stats.DumpStats()
3939
}
4040

equinox-shipping/Watchdog/Infrastructure.fs

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -40,24 +40,14 @@ module CosmosStoreContext =
4040
let maxEvents = 256
4141
Equinox.CosmosStore.CosmosStoreContext(storeClient, tipMaxEvents=maxEvents)
4242

43-
[<System.Runtime.CompilerServices.Extension>]
44-
type LoggerConfigurationExtensions() =
45-
46-
[<System.Runtime.CompilerServices.Extension>]
47-
static member inline ConfigureChangeFeedProcessorLogging(c : LoggerConfiguration, verbose : bool) =
48-
let cfpl = if verbose then Serilog.Events.LogEventLevel.Debug else Serilog.Events.LogEventLevel.Warning
49-
// TODO figure out what CFP v3 requires
50-
c.MinimumLevel.Override("Microsoft.Azure.Documents.ChangeFeedProcessor", cfpl)
51-
5243
[<System.Runtime.CompilerServices.Extension>]
5344
type Logging() =
5445

5546
[<System.Runtime.CompilerServices.Extension>]
56-
static member Configure(configuration : LoggerConfiguration, ?verbose, ?changeFeedProcessorVerbose) =
47+
static member Configure(configuration : LoggerConfiguration, ?verbose) =
5748
configuration
5849
.Destructure.FSharpTypes()
5950
.Enrich.FromLogContext()
6051
|> fun c -> if verbose = Some true then c.MinimumLevel.Debug() else c
61-
|> fun c -> c.ConfigureChangeFeedProcessorLogging(verbose = (changeFeedProcessorVerbose = Some true))
6252
|> fun c -> let t = "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj} {NewLine}{Exception}"
6353
c.WriteTo.Console(theme=Sinks.SystemConsole.Themes.AnsiConsoleTheme.Code, outputTemplate=t)

0 commit comments

Comments
 (0)