gpt4 book ai didi

每几分钟运行一次的 Azure WebJob

转载 作者:行者123 更新时间:2023-12-01 08:46:17 31 4
gpt4 key购买 nike

我正在尝试在 Azure 中设置计划的 WebJob。我能够部署我的网络作业。我可以通过门户明确运行网络作业。但是,我似乎无法让它按定期计划运行。

我希望该作业每 5 分钟运行一次。我意识到这不是免费的,我已更改为付费套餐并调整了最大重复阈值设置。有一次我因为设置而收到错误。

当我部署时,WebJob 显示为“按需”,并且它不会重复运行。我做错了什么?

这是我所拥有的:

webjob-publish-settings.json

{
"$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json",
"webJobName": "Shopping-Logs-WebJob",
"startTime": "2016-01-07T00:00:00-08:00",
"endTime": null,
"jobRecurrenceFrequency": "Minute",
"interval": 5,
"runMode": "Scheduled"
}

程序.cs

public class Program
{
static void Main()
{
var host = new JobHost();
host.Call(typeof(Functions).GetMethod("ManualTrigger"));
}
}

函数.cs

public class Functions
{
[NoAutomaticTrigger]
public static void ManualTrigger(TextWriter log)
{
string storageAccountName = CloudConfigurationManager.GetSetting("AzureStorageAccountName");
string storageKey = CloudConfigurationManager.GetSetting("AzureStorageAccessKey");

SendMessage("String Fetched", (storageAccountName ?? String.Empty) + ":" + (storageKey ?? String.Empty));

if (String.IsNullOrWhiteSpace(storageAccountName) || String.IsNullOrWhiteSpace(storageKey))
{
return;
}

StorageCredentials storageCredentials = new StorageCredentials(storageAccountName, storageKey);
CloudStorageAccount storageAccount = new CloudStorageAccount(storageCredentials, true);
}

private static void SendMessage(string subject, string message = null)
{
// sends an email. It works when I run the job explicitly in the portal
}
}

我也刚刚在 jobschedule 日志中发现了这一点。它正在寻找什么凭据?

Http Action - Response from host '[mysite].scm.azurewebsites.net': 'Unauthorized' Response Headers: Date: Mon, 25 Jan 2016 22:02:01 GMT
Server: Microsoft-IIS/8.0
WWW-Authenticate: Basic realm="site"
Body: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> <title>401 - Unauthorized: Access is denied due to invalid credentials.</title> <style type="text/css"> <!-- body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;} fieldset{padding:0 15px 10px 15px;} h1{font-size:2.4em;margin:0;color:#FFF;} h2{font-size:1.7em;margin:0;color:#CC0000;} h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;} #header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF; background-color:#555555;} #content{margin:0 0 0 2%;position:relative;} .content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;} --> </style> </head> <body> <div id="header"><h1>Server Error</h1></div> <div id="content"> <div cla

最佳答案

您可以将 settings.job 文件包含到您的 webjob 项目中,内容如下:

{
"schedule": "0 */5 * * * *"
}

每 5 分钟运行一次。

更多信息请点击这里: https://github.com/projectkudu/kudu/wiki/Web-jobs#scheduling-a-triggered-webjob

关于每几分钟运行一次的 Azure WebJob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35003122/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com