如果应用程序意外关闭,如何防止队列项目丢失



我已经在应用程序中用专用线程实现了队列。

我很担心把物品放在队列里。如果由于某种原因,当队列中添加新项目时,此应用程序将及时意外关闭,该怎么办?据我所知,专用线程不能保证在应用程序关闭后工作。进程可能已关闭。

所以,我应该在每次排队时将项目保存到文件中,然后在项目处理后删除吗?或者最好使用一些独立的应用程序或自托管任务?

编辑:它是使用System.Collections.Generic.Queue 的WinForms应用程序

通常为了保持队列的持久性,您必须使用某种存储。将数据保存在内存中并不能防止数据丢失。

保持其可靠性的最简单方法是使用一些内置的云解决方案,如Azure服务总线/Azure队列存储、亚马逊SQS等。

如果你自己构建系统,你可以使用DB甚至文件存储。

最新更新