我创建了一个控制台应用程序,我作为一个连续的Web作业运行。它不使用Web作业SDK,但会检查WEBJOBS_SHUTDOWN_FILE环境变量中指定的文件。
我已启用“Always On”选项,并且我使用settings.job文件将共享计划中的作业作为单身人员运行。
Web作业不断被WEBJOBS_SHUTDOWN_FILE拦截,之后又重新启动。
我一直在寻找kudu来源,但我找不到为什么我的网络工作重新启动。
有人知道为什么会这样吗?
这是初始化FileSystemWatcher的代码:
private void SetupExitWatcher()
{
var file = Environment.GetEnvironmentVariable("WEBJOBS_SHUTDOWN_FILE");
var dir = Path.GetDirectoryName(file);
var fileSystemWatcher = new FileSystemWatcher(dir);
FileSystemEventHandler changed = (o, e) =>
{
if (e.FullPath.Equals(Path.GetFileName(file), StringComparison.OrdinalIgnoreCase) >= 0)
{
this.Exit();
}
};
fileSystemWatcher.Created += changed;
fileSystemWatcher.NotifyFilter = NotifyFilters.CreationTime | NotifyFilters.FileName | NotifyFilters.LastWrite;
fileSystemWatcher.IncludeSubdirectories = false;
fileSystemWatcher.EnableRaisingEvents = true;
}