【发布时间】:2022-01-14 05:48:02
【问题描述】:
我正在使用 c# .Net Core 3.1 开发一个项目。
延迟后我必须在哪里运行代码。
简要说明:
我用结束日期时间创建拍卖。
拍卖结束时,我必须运行一个功能(连接数据库、关闭拍卖品等)。
我可以创建更多这样的操作项,所以我必须在最早的项结束时运行这个函数。
在每个项目结束后,我必须将此时间(延迟)重置为下一个拍卖项目的日期时间。
所有这些我都希望在一个单独的线程中用于非阻塞主线程。
谢谢:-)
【问题讨论】:
-
听起来不错。具体是什么阻止您这样做?
-
我不知道如何运行和更改运行功能的延迟
-
我认为Hangfire在这种情况下可能是一个很好的解决方案
-
我查看了 Hangfire,但我不喜欢 SchedulePollingInterval 设置。我需要将此设置设置为 1 秒,我认为它不利于性能。
-
在hangfire中您可以在提交后立即开始后台工作。 var jobId = BackgroundJob.Enqueue( () => Console.WriteLine("Fire-and-forget!")) hangfire.io
标签: c# .net asp.net-core asp.net-web-api