1

我创建了一个控制台应用程序,我将它作为一个连续的 Web 作业运行。它不使用 Web 作业 SDK,但会检查 WEBJOBS_SHUTDOWN_FILE 环境变量中指定的文件。

我已打开“始终开启”选项,并且我正在使用 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;
}
4

0 回答 0