我有一个C#控制台应用程序,它使用全天候运行的System.Timers.Timer。定时器间隔设置为15000 ms。我有一个名为OnTimedEvent的函数,它由调用Web服务来处理消息的计时器触发。
我连接的API允许您检查队列中的消息数,并一次下载10个。我的函数获取消息计数,处理消息(读取和数据库插入)然后重置计时器间隔。如果有超过10条消息,则定时器值为3000ms,如果为0,则为15000ms。这会强制应用程序每15秒检查一次新消息,或者每隔3秒继续处理10个消息。
一个控制台应用程序不足以跟上API队列中的消息,所以我根据工作负载启动2或3。有没有办法在.NET(C#)平台上使用线程或并行性将工作组合到一个应用程序中?