我一直在使用Azure webjobs一段时间,但仍然在努力弄清楚为什么一些运行时间非常长的Web作业失败.
我有使用Azure SDK构建的webjob,并从队列消息中获取.这个Web作业从Azure Blob存储中提取一大堆XML,其中包含有关110000项的信息,然后循环使用这些并使用REST WebApi2端点使各种HttpClient请求在我们的表存储和DocumentDB中创建各种实体...这个过程是懒惰我正在研究的东西,但它运行了好几天......这很好,因为没有紧迫感,除了它保持随机停止,有时两天后...最后一次唯一的消息是"线程被中止".我定期注销和http调用所以它不像工作坐在那里什么都不做...... 更新:
我还应该声明我已将整个应用服务计划升级到S1并将托管Web作业的Web应用程序设置为Always On ...
我也查看了"WEBJOBS_RESTART_TIME",但这不相关,因为它是关于停止后重新启动,我假设连续工作没有错误不应该做!
我一直在努力让一些代码在新机器上工作。我以为我终于让它工作了,但是现在当我运行它时,代码在尝试创建表存储时挂起(或者实际上获得了对它,因为它已经存在)......我知道必须确保它一直是异步的并且这段代码正在工作......我现在已经改变了它以尝试改进它并让它在这台机器上工作,但有些不对劲......所以在 Repo 的构造函数中我这样做......
public LdsRepo()
{
if (!GetTableRef("licensedatesummary").Result)
{
throw new Exception("It broke!");
}
}
Run Code Online (Sandbox Code Playgroud)
我的 GetTableReference 方法(在基类上)是这样的......
protected async Task<bool> GetTableRef(string tableRef)
{
try
{
if (string.IsNullOrEmpty(StorageAccountName) || string.IsNullOrEmpty(AuthKey))
{
throw new ArgumentNullException(nameof(tableRef),
"storageaccountname or authk are not set in the config");
}
if (_tableClient == null)
_tableClient =
new CloudStorageAccount(new StorageCredentials(StorageAccountName, AuthKey), true)
.CreateCloudTableClient();
if (_table == null)
{
// Create the CloudTable object that represents the referenced table.
_table = _tableClient.GetTableReference(tableRef);
var x = _table.CreateIfNotExistsAsync();
return await …
Run Code Online (Sandbox Code Playgroud) 我写了一个角度js应用程序,我使用angular-adal.js来验证Azure AD.我已将所有路由配置为requireADLogin并已添加
extraQueryParameter: 'nux=1,scope=openid'
Run Code Online (Sandbox Code Playgroud)
在init方法中.
我的问题是,我在哪里可以将登录的用户名或电子邮件等从他们登录后创建的记录中存储起来.因为我没有在代码中手动验证我没有令牌对象或任何可玩的东西用.任何指针都会被赞赏,因为虽然我搜索了所有的exmaples似乎是你自己进行调用而不是让UI路由器进行身份验证.
我敢肯定这一定是常见的事情!!
提前致谢!