。NET Task.AppRecycle可以安全运行吗?

问题描述 投票:0回答:1

我读了很多有关AppRecycling的文章,很长一段时间以来困扰我。我不明白,我经常读到,如果您使用Task.Run,​​它是不安全的,因为它可以回收利用吗?

有人可以向我解释一下,此AppRecycle的功能是什么,当我使用Task.Run时,我可以肯定地说该任务将被执行,或者回收过程可能取消此任务吗?

我也在谈论.NET Core WebApi,不知道这是否重要。

[我需要的是一个可以立即响应用户的API,但使用Task.Run启动“进程”以联系某些API并在“后台”进行一些计算。

非常感谢

.net asp.net-core asynchronous task-parallel-library
1个回答
0
投票

此AppRecycle的用途

重新启动工作进程。在.NET Framework和.NET Core上,这意味着默认情况下,每隔29 hours个工作进程都将重新启动。这有助于解决由于长时间运行而导致的内存泄漏或其他问题。

当我使用Task.Run时,我可以肯定地说该任务将被执行,还是回收过程可能取消该任务?

很有可能,请注意,托管解决方案甚至可以通过更快地杀死空闲站点,有时甚至在几分钟内就走更激烈的路线。

如果您有自己的盒子(Linux或Windows),最简单的解决方案是在与Web应用程序通信的守护程序或服务上分离后台进程。如果您被迫使用仅限Web应用程序的解决方案,则可以使用scheduler检查是否有任何中止的任务,然后重新启动/继续执行。

© www.soinside.com 2019 - 2024. All rights reserved.