Skip to content
This repository was archived by the owner on Feb 2, 2026. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
80e9cd1
Removed BCL build stuff
adbrowne Jan 15, 2015
ca474cc
Merge branch 'projector-continuation-fix' into dust
dgchurchill Jan 19, 2015
2cc1a75
Merge branch 'dev' into dust
Jan 20, 2015
62b3d16
Change mode of build executables +x
scottlowe Jan 21, 2015
fb34527
Neo4j projector now takes the position write period as a parameter
dgchurchill Jan 21, 2015
3d03938
Merge branch 'paramaterize-neo4j-position-write' into dust
dgchurchill Jan 21, 2015
995dbe4
Merge remote-tracking branch 'adbrowne/master' into dust
dgchurchill Jan 27, 2015
fb6ea56
Merge branch 'make-worker-threads-background' into dust
dgchurchill Feb 2, 2015
e11c564
Merge branch 'master' into dust
dgchurchill Feb 18, 2015
f598ac1
Merge remote-tracking branch 'origin/nj/jtoken-tostring-fix' into dust
Mar 16, 2015
d95e906
Merge branch 'dc/testsystem-runstreamprogram' into dust
dgchurchill Mar 16, 2015
a471df6
Merge branch 'simple-neo4j-batching-for-replay' into dust
dgchurchill Mar 24, 2015
afb0864
Merge branch 'neo4j-inc-version-op' into dust
dgchurchill Mar 27, 2015
9245ff0
Merge branch 'dc/stack-overflow-fix' into dust
dgchurchill May 7, 2015
88605b4
Merge branch 'mw/eventful' into dust
May 14, 2015
5ff9835
Merge branch 'simple-neo4j-batching-for-replay' into dust
May 14, 2015
c1d516d
updated metrics package
May 18, 2015
1d2ad00
Merge branch 'master' into dust
dgchurchill May 20, 2015
3298965
Merge branch 'remove-from-cache-on-update' into dust
dgchurchill May 20, 2015
670ea6a
Merge branch 'remove-from-cache-on-update' into dust
dgchurchill May 25, 2015
46eb8ad
Merge branch 'master' into dust
Jun 1, 2015
e535354
removed extra target
Jun 1, 2015
747c288
Merge branch 'remove-from-cache-on-update' into dust
dgchurchill Jun 2, 2015
d0f2586
Merge branch 'mark-as-complete-on-exception' into dust
dgchurchill Jun 9, 2015
405441b
Merge branch 'nj/replace-rel-fix' into dust
Jun 12, 2015
1475c47
Merge branch 'neo4j-add-relationship-performance' into dust
dgchurchill Jun 22, 2015
ad92b87
Merge branch 'neo4j-fix-2' into dust
dgchurchill Jun 22, 2015
a0c9ad0
Merge branch 'unique-state-builders' into dust
dgchurchill Jun 26, 2015
208eaa2
Merge branch 'mw/updateserilog' into dust
Jul 13, 2015
34bb876
update to JSON.net 7.0.1
Jul 13, 2015
e030b3d
Merge branch 'support-max-count-even-if-no-snapshot' into dust
dgchurchill Jul 16, 2015
16a39c8
Merge branch 'dc/fix-multi-projector-replay' into dust
dgchurchill Jul 22, 2015
f720725
update fsharpx libraries
Jul 29, 2015
f695ba7
Merge branch 'mw/updatedfsharpx' into dust
Jul 29, 2015
b57fc7f
awake up fixes
Aug 5, 2015
91c940f
Merge branch 'mw/wakeup-fixes' into dust
Aug 5, 2015
69d47b9
Added some extra logging
dgchurchill Aug 19, 2015
a0a1bbd
Merge branch 'dc/logging-tweak' into dust
dgchurchill Aug 19, 2015
621ac96
Logging for transaction batcher exceptions
dgchurchill Sep 17, 2015
7d54992
Merge branch 'dc/transaction-batcher-logging' into dust
dgchurchill Sep 17, 2015
cd0da8e
Merge remote-tracking branch 'origin/nj/state-builder-changes' into dust
Oct 8, 2015
243a539
Fix Neo4j query chaining by using an aggregate function in the WITH
dgchurchill Oct 21, 2015
52a50b8
Merge branch 'dc/fix-query-chaining' into dust
dgchurchill Oct 21, 2015
ccfd0b9
Merge pull request #1 from PicnicBasket/reintegrate-with-master
dgchurchill Nov 18, 2015
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file modified build.cmd
100644 → 100755
Empty file.
Empty file modified build/tools/nuget/nuget.exe
100644 → 100755
Empty file.
29 changes: 20 additions & 9 deletions src/Eventful.CsTests/Eventful.CsTests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -36,18 +36,29 @@
<Reference Include="EventStore.ClientAPI">
<HintPath>..\packages\EventStore.Client.3.0.1\lib\net40\EventStore.ClientAPI.dll</HintPath>
</Reference>
<Reference Include="FSharp.Core, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
<Reference Include="FSharpx.Collections, Version=1.9.4.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\FSharpx.Collections.1.9.4\lib\net35\FSharpx.Collections.dll</HintPath>
<Reference Include="FSharp.Control.AsyncSeq, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\FSharp.Control.AsyncSeq.2.0.1\lib\net45\FSharp.Control.AsyncSeq.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="FSharpx.Core, Version=1.8.41.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\FSharpx.Core.1.8.41\lib\40\FSharpx.Core.dll</HintPath>
<Reference Include="FSharp.Core, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\FSharp.Core.3.1.2.1\lib\net40\FSharp.Core.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="FSharpx.Async, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\FSharpx.Async.1.12.0\lib\net40\FSharpx.Async.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="FSharpx.Collections, Version=1.10.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\FSharpx.Collections.1.10.1\lib\net40\FSharpx.Collections.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="FSharpx.Extras, Version=1.10.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\FSharpx.Extras.1.10.2\lib\40\FSharpx.Extras.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Metrics, Version=0.2.6.0, Culture=neutral, processorArchitecture=MSIL">
<Reference Include="Metrics, Version=0.3.2.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\Metrics.NET.0.2.6\lib\net45\Metrics.dll</HintPath>
<HintPath>..\..\..\packages\Metrics.NET.0.3.2-pre\lib\net45\Metrics.dll</HintPath>
</Reference>
<Reference Include="Serilog">
<HintPath>..\packages\Serilog.1.5.7\lib\net45\Serilog.dll</HintPath>
Expand Down
2 changes: 1 addition & 1 deletion src/Eventful.CsTests/app.config
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.WindowsAzure.Storage" publicKeyToken="31bf3856ad364e35" culture="neutral" />
Expand Down
8 changes: 5 additions & 3 deletions src/Eventful.CsTests/packages.config
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EventStore.Client" version="3.0.1" targetFramework="net45" />
<package id="FSharpx.Collections" version="1.9.4" targetFramework="net45" />
<package id="FSharpx.Core" version="1.8.41" targetFramework="net45" />
<package id="Metrics.NET" version="0.2.6" targetFramework="net45" />
<package id="FSharp.Control.AsyncSeq" version="2.0.1" targetFramework="net45" />
<package id="Metrics.NET" version="0.3.2-pre" targetFramework="net45" />
<package id="FSharp.Core" version="3.1.2.1" targetFramework="net45" />
<package id="FSharpx.Async" version="1.12.0" targetFramework="net45" />
<package id="FSharpx.Extras" version="1.10.2" targetFramework="net45" />
<package id="Serilog" version="1.5.7" targetFramework="net45" />
<package id="xunit" version="1.9.2" targetFramework="net45" />
</packages>
3 changes: 2 additions & 1 deletion src/Eventful.EventStore/Client.fs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ open FSharp.Control
open EventStore.ClientAPI
open System
open FSharpx
open FSharpx.Functional
open Eventful

/// simple F# wrapper around EventStore functions
Expand Down Expand Up @@ -86,7 +87,7 @@ type EventStoreClient (connection : IEventStoreConnection) =

member x.getNextPosition () = async {
let position = Position.End
let! (finalSlice : AllEventsSlice) = connection.ReadAllEventsBackwardAsync(position, 1, false, null)
let! (finalSlice : AllEventsSlice) = connection.ReadAllEventsBackwardAsync(position, 1, false, null) |> Async.AwaitTask
let nextPosition = finalSlice.NextPosition
return nextPosition }

Expand Down
1 change: 1 addition & 0 deletions src/Eventful.EventStore/EventStoreSystem.fs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ open EventStore.ClientAPI
open System
open FSharpx
open FSharpx.Collections
open FSharpx.Functional

type EventStoreSystem<'TCommandContext, 'TEventContext,'TMetadata, 'TBaseEvent when 'TMetadata : equality and 'TEventContext :> System.IDisposable>
(
Expand Down
4 changes: 2 additions & 2 deletions src/Eventful.EventStore/EventStreamInterpreter.fs
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ module EventStreamInterpreter =
(readSnapshot : string -> Map<string,Type> -> Async<StateSnapshot>)
(startContext : ContextStartData)
(prog : FreeEventStream<obj,'A,'TMetadata>) : Async<'A> =
let rec loop prog (values : Map<EventToken,(byte[]*byte[])>) (writes : Vector<string * int * obj * 'TMetadata>) : Async<'A> =
let rec loop prog (values : Map<EventToken,(byte[]*byte[])>) (writes : PersistentVector<string * int * obj * 'TMetadata>) : Async<'A> =
match prog with
| FreeEventStream (GetEventStoreTypeToClassMap ((), f)) ->
let next = f eventStoreTypeToClassMap
Expand Down Expand Up @@ -162,4 +162,4 @@ module EventStreamInterpreter =
async {
return result
}
loop prog Map.empty Vector.empty
loop prog Map.empty PersistentVector.empty
19 changes: 14 additions & 5 deletions src/Eventful.EventStore/Eventful.EventStore.fsproj
Original file line number Diff line number Diff line change
Expand Up @@ -78,23 +78,32 @@
<Private>True</Private>
</Reference>
<Reference Include="EventStore.ClientAPI" />
<Reference Include="FSharp.Core, Version=$(TargetFSharpCoreVersion), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<Reference Include="FSharp.Control.AsyncSeq">
<HintPath>..\packages\FSharp.Control.AsyncSeq.2.0.1\lib\net45\FSharp.Control.AsyncSeq.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="FSharp.Core">
<HintPath>..\packages\FSharp.Core.3.1.2.1\lib\net40\FSharp.Core.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="FSharp.Data">
<HintPath>..\packages\FSharp.Data.2.2.0\lib\net40\FSharp.Data.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="FSharpx.Async">
<HintPath>..\packages\FSharpx.Async.1.12.0\lib\net40\FSharpx.Async.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="FSharpx.Collections">
<HintPath>..\packages\FSharpx.Collections.1.9.4\lib\net35\FSharpx.Collections.dll</HintPath>
<HintPath>..\packages\FSharpx.Collections.1.10.1\lib\net40\FSharpx.Collections.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="FSharpx.Core">
<HintPath>..\packages\FSharpx.Core.1.8.41\lib\40\FSharpx.Core.dll</HintPath>
<Reference Include="FSharpx.Extras">
<HintPath>..\packages\FSharpx.Extras.1.10.2\lib\40\FSharpx.Extras.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Metrics">
<HintPath>..\packages\Metrics.NET.0.2.6\lib\net45\Metrics.dll</HintPath>
<HintPath>..\..\..\packages\Metrics.NET.0.3.2-pre\lib\net45\Metrics.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="mscorlib" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
open EventStore.ClientAPI
open Eventful
open Metrics
open FSharp.Control
open FSharpx.Control

type MultiTenancyEventStoreSubscriber<'TWrappedEvent>
(
Expand Down
2 changes: 1 addition & 1 deletion src/Eventful.EventStore/app.config
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
Expand Down
9 changes: 6 additions & 3 deletions src/Eventful.EventStore/packages.config
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EventStore.Client" version="3.0.1" targetFramework="net45" />
<package id="FSharp.Control.AsyncSeq" version="2.0.1" targetFramework="net45" />
<package id="FSharp.Core" version="3.1.2.1" targetFramework="net45" />
<package id="FSharp.Data" version="2.2.0" targetFramework="net45" />
<package id="FSharpx.Collections" version="1.9.4" targetFramework="net45" />
<package id="FSharpx.Core" version="1.8.41" targetFramework="net45" />
<package id="Metrics.NET" version="0.2.6" targetFramework="net45" />
<package id="FSharpx.Async" version="1.12.0" targetFramework="net45" />
<package id="FSharpx.Collections" version="1.10.1" targetFramework="net45" />
<package id="Metrics.NET" version="0.3.2-pre" targetFramework="net45" />
<package id="FSharpx.Extras" version="1.10.2" targetFramework="net45" />
<package id="Serilog" version="1.5.7" targetFramework="net45" />
</packages>
30 changes: 17 additions & 13 deletions src/Eventful.Neo4j/Eventful.Neo4j.fsproj
Original file line number Diff line number Diff line change
Expand Up @@ -72,28 +72,37 @@
<Compile Include="Neo4jReadQueue.fs" />
</ItemGroup>
<ItemGroup>
<Reference Include="FSharp.Control.AsyncSeq">
<HintPath>..\..\..\packages\FSharp.Control.AsyncSeq.2.0.1\lib\net45\FSharp.Control.AsyncSeq.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="FSharp.Core">
<HintPath>..\..\..\packages\FSharp.Core.3.1.2.1\lib\net40\FSharp.Core.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="FSharp.Data">
<HintPath>..\packages\FSharp.Data.2.2.0\lib\net40\FSharp.Data.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="FSharpx.Async">
<HintPath>..\..\..\packages\FSharpx.Async.1.12.0\lib\net40\FSharpx.Async.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="FSharpx.Collections">
<HintPath>..\packages\FSharpx.Collections.1.9.4\lib\net35\FSharpx.Collections.dll</HintPath>
<HintPath>..\..\..\packages\FSharpx.Collections.1.10.1\lib\net40\FSharpx.Collections.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="FSharpx.Core">
<HintPath>..\packages\FSharpx.Core.1.8.41\lib\40\FSharpx.Core.dll</HintPath>
<Reference Include="FSharpx.Extras">
<HintPath>..\..\..\packages\FSharpx.Extras.1.10.2\lib\40\FSharpx.Extras.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Metrics">
<HintPath>..\packages\Metrics.NET.0.2.8\lib\net45\Metrics.dll</HintPath>
<HintPath>..\..\..\packages\Metrics.NET.0.3.2-pre\lib\net45\Metrics.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="mscorlib" />
<Reference Include="FSharp.Core, Version=$(TargetFSharpCoreVersion), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<Private>True</Private>
</Reference>
<Reference Include="Newtonsoft.Json">
<HintPath>..\packages\Newtonsoft.Json.6.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
<HintPath>..\..\..\packages\Newtonsoft.Json.7.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Serilog">
Expand Down Expand Up @@ -129,11 +138,6 @@
<Private>True</Private>
</ProjectReference>
</ItemGroup>
<Import Project="..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" />
<Target Name="EnsureBclBuildImported" BeforeTargets="BeforeBuild" Condition="'$(BclBuildImported)' == ''">
<Error Condition="!Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=317567." HelpKeyword="BCLBUILD2001" />
<Error Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="The build restored NuGet packages. Build the project again to include these packages in the build. For more information, see http://go.microsoft.com/fwlink/?LinkID=317568." HelpKeyword="BCLBUILD2002" />
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
Expand Down
4 changes: 3 additions & 1 deletion src/Eventful.Neo4j/Neo4jOperations.fs
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ module Operations =
// TODO: Use the transaction support http://neo4j.com/docs/stable/rest-api-transactional.html
// Neo4jClient doesn't yet support this. CypherNet does, but doesn't support MERGE.
let chainQ (query : CypherQuery) =
{ query with Query = query.Query.With("1 as dummy") }
{ query with Query = query.Query.With("count(*) as dummy") }


let graphLabel (query : CypherQuery) =
Expand Down Expand Up @@ -361,6 +361,8 @@ module Operations =

loop emptyState)

agent.Error.Add (fun exn -> log.ErrorWithException <| lazy ("Neo4j transaction batcher failed", exn))

{ new ITransactionBatcher with
member x.Add graphName actions =
async {
Expand Down
4 changes: 4 additions & 0 deletions src/Eventful.Neo4j/app.config
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.2.0" newVersion="5.2.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
11 changes: 7 additions & 4 deletions src/Eventful.Neo4j/packages.config
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="FSharp.Control.AsyncSeq" version="2.0.1" targetFramework="net45" />
<package id="FSharp.Core" version="3.1.2.1" targetFramework="net45" />
<package id="FSharp.Data" version="2.2.0" targetFramework="net45" />
<package id="FSharpx.Collections" version="1.9.4" targetFramework="net45" />
<package id="FSharpx.Core" version="1.8.41" targetFramework="net45" />
<package id="Metrics.NET" version="0.2.8" targetFramework="net45" />
<package id="FSharpx.Async" version="1.12.0" targetFramework="net45" />
<package id="FSharpx.Collections" version="1.10.1" targetFramework="net45" />
<package id="Metrics.NET" version="0.3.2-pre" targetFramework="net45" />
<package id="FSharpx.Extras" version="1.10.2" targetFramework="net45" />
<package id="Microsoft.Bcl" version="1.1.9" targetFramework="net45" />
<package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="net45" />
<package id="Microsoft.Net.Http" version="2.2.28" targetFramework="net45" />
<package id="Newtonsoft.Json" version="6.0.3" targetFramework="net45" />
<package id="Newtonsoft.Json" version="7.0.1" targetFramework="net45" />
<package id="Serilog" version="1.5.7" targetFramework="net45" />
</packages>
3 changes: 2 additions & 1 deletion src/Eventful.RavenDb/AggregateStatePersistence.fs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

open System
open FSharpx
open FSharpx.Functional
open FSharpx.Option
open Raven.Json.Linq
open Eventful
Expand Down Expand Up @@ -173,7 +174,7 @@ module AggregateStatePersistence =
|> Seq.toList
|> function
| [aggregateType] -> aggregateType
| x -> failwith <| sprintf "Got messages for mixed aggreate type. Stream: %s, AggregateTypes: %A" streamId x
| x -> failwith <| sprintf "Got messages for mixed aggregate type. Stream: %s, AggregateTypes: %A" streamId x

match handlers.AggregateTypes |> Map.tryFind aggregateType with
| Some aggregateConfig ->
Expand Down
23 changes: 16 additions & 7 deletions src/Eventful.RavenDb/Eventful.RavenDb.fsproj
Original file line number Diff line number Diff line change
Expand Up @@ -82,16 +82,28 @@
<HintPath>..\packages\FSharp.Collections.ParallelSeq.1.0.2\lib\net40\FSharp.Collections.ParallelSeq.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="FSharp.Control.AsyncSeq">
<HintPath>..\..\..\packages\FSharp.Control.AsyncSeq.2.0.1\lib\net45\FSharp.Control.AsyncSeq.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="FSharp.Core">
<HintPath>..\..\..\packages\FSharp.Core.3.1.2.1\lib\net40\FSharp.Core.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="FSharpx.Async">
<HintPath>..\..\..\packages\FSharpx.Async.1.12.0\lib\net40\FSharpx.Async.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="FSharpx.Collections">
<HintPath>..\packages\FSharpx.Collections.1.9.4\lib\net35\FSharpx.Collections.dll</HintPath>
<HintPath>..\..\..\packages\FSharpx.Collections.1.10.1\lib\net40\FSharpx.Collections.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="FSharpx.Core">
<HintPath>..\packages\FSharpx.Core.1.8.41\lib\40\FSharpx.Core.dll</HintPath>
<Reference Include="FSharpx.Extras">
<HintPath>..\..\..\packages\FSharpx.Extras.1.10.2\lib\40\FSharpx.Extras.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Metrics">
<HintPath>..\packages\Metrics.NET.0.2.6\lib\net45\Metrics.dll</HintPath>
<HintPath>..\..\..\packages\Metrics.NET.0.3.2-pre\lib\net45\Metrics.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="mscorlib" />
Expand All @@ -114,9 +126,6 @@
<Reference Include="System.Core" />
<Reference Include="System.Numerics" />
<Reference Include="System.Runtime.Caching" />
<Reference Include="FSharp.Core, Version=$(TargetFSharpCoreVersion), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<Private>True</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Eventful\Eventful.fsproj">
Expand Down
9 changes: 8 additions & 1 deletion src/Eventful.RavenDb/WakeupMonitor.fs
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,14 @@ type WakeupMonitor

do!
getWakeups (DateTime.UtcNow |> UtcDateTime.fromDateTime)
|> AsyncSeq.iter (fun (streamId, aggregateType, wakeupTime) -> onStreamWakeup streamId aggregateType wakeupTime)
|> AsyncSeq.iter (
fun (streamId, aggregateType, wakeupTime) ->
try
onStreamWakeup streamId aggregateType wakeupTime
with
| ex ->
log.WarnWithException(lazy (sprintf "Error onStreamWakeup with streamId %s" streamId, ex))
)
return! loop ()
}

Expand Down
2 changes: 1 addition & 1 deletion src/Eventful.RavenDb/app.config
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
Expand Down
Loading