Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
丁松杰
/
Pole
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
5de72aaf
authored
Feb 14, 2020
by
丁松杰
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
完成 清理时间等的配置
parent
f78114ce
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
8 additions
and
2 deletions
src/Pole.Core/PoleOptions.cs
src/Pole.Core/Processor/PendingMessageRetryProcessor.cs
src/Pole.Core/UnitOfWork/UnitOfWork.cs
src/Pole.Core/PoleOptions.cs
View file @
5de72aaf
...
...
@@ -11,6 +11,7 @@ namespace Pole.Core
public
int
ExpiredEventsPreBulkDeleteDelaySeconds
{
get
;
set
;
}
=
3
;
public
int
ExpiredEventsCollectIntervalSeconds
{
get
;
set
;
}
=
60
*
60
;
public
int
PublishedEventsExpiredAfterSeconds
{
get
;
set
;
}
=
60
*
60
;
public
IServiceCollection
Services
{
get
;
private
set
;
}
}
}
src/Pole.Core/Processor/PendingMessageRetryProcessor.cs
View file @
5de72aaf
...
...
@@ -72,6 +72,7 @@ namespace Pole.Core.Processor
pendingMessage
.
Retries
++;
await
producer
.
Publish
(
bytes
);
pendingMessage
.
StatusName
=
nameof
(
EventStatus
.
Published
);
pendingMessage
.
ExpiresAt
=
DateTime
.
UtcNow
.
AddSeconds
(
options
.
PublishedEventsExpiredAfterSeconds
);
}
await
eventStorage
.
BulkChangePublishStateAsync
(
pendingMessages
);
}
...
...
src/Pole.Core/UnitOfWork/UnitOfWork.cs
View file @
5de72aaf
...
...
@@ -12,6 +12,7 @@ using Pole.Core.Abstraction;
using
Pole.Core.Serialization
;
using
Pole.Core.EventBus.Event
;
using
Pole.Core.EventBus.EventStorage
;
using
Microsoft.Extensions.Options
;
namespace
Pole.Core.UnitOfWork
{
...
...
@@ -21,13 +22,15 @@ namespace Pole.Core.UnitOfWork
private
readonly
IEventTypeFinder
eventTypeFinder
;
private
readonly
ISerializer
serializer
;
private
readonly
IEventStorage
eventStorage
;
private
readonly
PoleOptions
options
;
private
IBus
bus
;
public
UnitOfWork
(
IProducer
producer
,
IEventTypeFinder
eventTypeFinder
,
ISerializer
serializer
,
IEventStorage
eventStorage
)
public
UnitOfWork
(
IProducer
producer
,
IEventTypeFinder
eventTypeFinder
,
ISerializer
serializer
,
IEventStorage
eventStorage
,
IOptions
<
PoleOptions
>
options
)
{
this
.
producer
=
producer
;
this
.
eventTypeFinder
=
eventTypeFinder
;
this
.
serializer
=
serializer
;
this
.
eventStorage
=
eventStorage
;
this
.
options
=
options
.
Value
;
}
public
async
Task
CompeleteAsync
(
CancellationToken
cancellationToken
=
default
)
...
...
@@ -43,7 +46,8 @@ namespace Pole.Core.UnitOfWork
var
bytesTransport
=
new
EventBytesTransport
(
@event
.
Name
,
@event
.
Id
,
eventContentBytes
);
var
bytes
=
bytesTransport
.
GetBytes
();
await
producer
.
Publish
(
bytes
);
@event
.
StatusName
=
nameof
(
EventStatus
.
Published
);
@event
.
StatusName
=
nameof
(
EventStatus
.
Published
);
@event
.
ExpiresAt
=
DateTime
.
UtcNow
.
AddSeconds
(
options
.
PublishedEventsExpiredAfterSeconds
);
});
await
eventStorage
.
BulkChangePublishStateAsync
(
bufferedEvents
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment