我有一个控制工业生产设备的程序,并且总是循环执行任务。这些任务的一部分是检查SQLServer数据库中的值。
现在,然后(每天几次),我们将遇到暂时性故障,从而导致该程序必须手动重新启动。为防止这种情况,我为EnableRetryOnFailure
启用了UseSqlServer
选项。该程序现在不会崩溃,但是我想记录何时发生此类短暂故障并必须使用重试机制。
如何为这些重试添加日志记录?
我假设我可以创建一个自定义ExecutionStrategy
并覆盖OnRetry方法。有人对此有任何例子吗?有没有更好的解决方案?
services.AddDbContext<DbContext>(options =>
{
options.UseSqlServer(connectionString,o =>
{
o.EnableRetryOnFailure();
});
});