文件名称:Hangfire.InMemory:带有事务性实现的Hangfire的内存中作业存储
文件大小:1.33MB
文件格式:ZIP
更新时间:2024-05-02 09:53:48
C#
Hangfire.InMemory 这是试图为Hangfire创建高效的事务性内存存储,其数据结构接近其最佳表示形式。 这种尝试的结果应该可以实现该存储实现的生产就绪使用,并处理内存处理的特定属性,例如不惜一切代价避免OutOfMemoryException并在垃圾回收上减轻负担。 当然,我们不能完全避免它们,但至少可以以某种方式控制它们。 读取和写入查询由单个线程处理,以避免线程之间的额外同步,并使所有操作尽可能简单(牢记未来基于异步的实现)。 监视API也使用该专用线程,但是可以通过使用并发数据结构和不变性来更改其将来的实现,但是我希望这会增加垃圾收集的负担。 分布式锁(嘿,在进程内存储中),队列提取逻辑(甚至来自多个队列)和事务查询都作为阻塞操作实现,因此在这些情况下没有主动轮询。 可以安全地更改存储返回的每个数据,而无需绕过所需的事务处理逻辑来更改基础存储状态,因此一切都是安
【文件预览】:
Hangfire.InMemory-master
----.gitignore(6KB)
----Hangfire.InMemory.sln.DotSettings(401B)
----src()
--------SharedAssemblyInfo.cs(438B)
--------Hangfire.InMemory()
----LICENSE.md(1KB)
----LICENSE_STANDARD(12KB)
----.travis.yml(775B)
----Hangfire.InMemory.sln(3KB)
----samples()
--------ConsoleSample()
----psake-project.ps1(929B)
----COPYING(34KB)
----README.md(3KB)
----build.bat(361B)
----tests()
--------Hangfire.InMemory.Tests()
----COPYING.LESSER(7KB)
----appveyor.yml(2KB)
----LICENSE_ROYALTYFREE(12KB)
----.nuget()
--------packages.config(265B)
--------NuGet.exe(4.07MB)
----nuspecs()
--------Hangfire.InMemory.nuspec(3KB)
----.editorconfig(63B)