- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个通过 TimerTrigger 运行的 Azure Function App (v2)(每天午夜 - 美国东部时间)。当我在 Visual Studio 本地运行它时,它工作正常。但是,当我使用内置的 Visual Studio 发布工具将其直接发布到我的函数应用程序(Zip Deploy)时,它不会在午夜或任何时间触发。
我还尝试直接通过 Azure 门户运行该函数,但这也不起作用。这是我的代码。它所做的只是从 Azure 存储中提取文件,更新排名游戏 JSON,然后将该文件替换回 Azure 存储中。我有一个移动应用程序,可以提取 ranked_settings.json
并生成排名游戏。
[FunctionName("RankedSettingsIntervalFunction")]
public static void Run([TimerTrigger("0 0 0 */1 * *")]TimerInfo myTimer, ILogger log, ExecutionContext context)
{
Console.WriteLine("App started running at " + DateTimeOffset.UtcNow.ToString());
const string fileName = "ranked_settings.json";
var config = new ConfigurationBuilder()
.SetBasePath(context.FunctionAppDirectory)
.AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();
var conn1 = config["FileStorage:ConnectionStringOne"];
var conn2 = config["FileStorage:ConnectionStringTwo"];
StorageService service = new StorageService(conn1, conn2);
Settings settings = RankedSettingsGenerator.Generate();
var json = JsonConvert.SerializeObject(settings);
Console.WriteLine("App original JSON created at " + DateTimeOffset.UtcNow.ToString());
Console.WriteLine(json);
byte[] byteArray = Encoding.ASCII.GetBytes(json);
MemoryStream stream = new MemoryStream(byteArray);
service.AddFile(fileName, stream);
Console.WriteLine("App finished running at " + DateTimeOffset.UtcNow.ToString());
}
我的 function.json 文件具有以下绑定(bind):
"bindings": [
{
"type": "timerTrigger",
"schedule": "0 0 0 */1 * *",
"useMonitor": true,
"runOnStartup": false,
"name": "myTimer"
}
],
我认为问题在于 runOnStartup
属性为 false,但这并不能解释为什么当我按下 Run
按钮时它不起作用门户网站。
最佳答案
更新:
根据您的情况,请注意 Azure 上没有 local.settings.json
文件。 local.settings.json
将照常发布到 Azure 应用程序设置。
应用程序设置在这里:
用于获取设置的代码应如下所示:
var config = new ConfigurationBuilder()
.AddEnvironmentVariables()
.Build();
string conn1 = config["xxxxxxxxxxxxx"];
string conn2 = config["xxxxxxxxxxxxx"];
或者简单地说
Environment.GetEnvironmentVariable("xxxxxxxxxxxxx");
此外,
我注意到您在代码中使用了Console.WriteLine()
。请注意,Console.WriteLine()
的索引不会显示在门户上。您需要使用 log.LogInformation()
来显示信息。
原始答案:
对于 Azure Function,许多事情都可以在本地运行。但部署到 Azure 时有很多事情需要注意。
您使用消费计划吗?或者你没有设置时区?这两个原因都会导致这个问题。
看看这个 Offcial doc .
关于c# - Azure函数应用程序: TimerTrigger not Firing when Deployed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59476052/
这个TimerTrigger没有触发,有人可以在这里提出更好的建议。 public async Task test([TimerTrigger("0 0 11,12 * * 1-5")] TimerI
我正在尝试将 WebJob 作为控制台应用程序运行,当我添加 RunOnStartup = true 时它可以工作,但我需要它仅与 TimerTrigger 一起工作。 这是我的代码 public s
这个TimerTrigger没有触发,有人可以在这里提出更好的建议。 public async Task test([TimerTrigger("0 0 11,12 * * 1-5")] TimerI
我有一个非常简单的网络作业 class Program { static void Main(string[] args) { JobHostConfiguratio
这是我的 Function.Json { "generatedBy": "Microsoft.NET.Sdk.Functions-1.0.28", "configurationSource":
我有一个通过 TimerTrigger 运行的 Azure Function App (v2)(每天午夜 - 美国东部时间)。当我在 Visual Studio 本地运行它时,它工作正常。但是,当我使
这是我的 Function.Json { "generatedBy": "Microsoft.NET.Sdk.Functions-1.0.28", "configurationSource":
我有一个通过 TimerTrigger 运行的 Azure Function App (v2)(每天午夜 - 美国东部时间)。当我在 Visual Studio 本地运行它时,它工作正常。但是,当我使
所以我尝试使用 Azure WebJobs SDK 中的计时器触发器,但它似乎没有触发。 这是我的主要方法 var config = new JobHostConfiguration(); confi
在本文档 ( Timer trigger for Azure Functions ) 中,他们给出的示例每五分钟执行一次该函数,从以 5 或 0 结尾的分钟开始。这很好,但除非我遗漏了某些内容,否则本
我正在尝试创建一个每 x 秒运行一个函数的 Azure WebJob。我正在关注 Microsoft website 上的教程这个示例展示了如何将 TimerTrigger 与 Github 上的 W
我正在寻找一个简单的调度程序来在部署在 Azure 云中的 Java Web 应用程序中执行任务。我正在根据我的要求使用 TimerTrigger 评估 Azure 函数。在这里,我计划定义一个带有回
我遇到 TimerTrigger 实际上并未在我的多个 Azure Functions 中触发。流程看起来总是与此类似: 如日志语句所示,此计时器配置为每 5 分钟触发一次 (0 */5 * * *
每当我创建 TimerTrigger Azure Function 时,都会收到此错误 无法为 ScheduleMonitor 创建 BlobContainerClient。 无论我做什么都会发生这种
每当我创建 TimerTrigger Azure Function 时,都会收到此错误 无法为 ScheduleMonitor 创建 BlobContainerClient。 无论我做什么都会发生这种
我目前正在按照本指南 ( https://learn.microsoft.com/en-us/azure/azure-functions/functions-test-a-function ) 向我的
我正在尝试触发 .NET 7 中的编排函数 TimerTrigger。以下是我创建的函数 [Function(nameof(FunctionSampleTimer))] public
我有一个连续的 WebJob,其函数使用 TimerTrigger 每 30 秒运行一个进程。函数中的特定调用偶尔会看似随机挂起,导致 Web 作业无限期等待。当前的解决方案是通知服务已停止,然后登录
正如我在标题中所说,是否可以有一个使用 TimerTrigger 而不仅仅是 httpTrigger 触发的 azure 持久应用程序?我在这里看到https://learn.microsoft.co
正如我在标题中所说,是否可以有一个使用 TimerTrigger 而不仅仅是 httpTrigger 触发的 azure 持久应用程序?我在这里看到https://learn.microsoft.co
我是一名优秀的程序员,十分优秀!