问题标签 [azure-webjobs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
39350 浏览

azure-webjobs - 如何从 C# 控制台应用程序写入 Azure WebJobs 中的日志?

我正在测试 Azure Webjobs。我编写了一个控制台应用程序,它轮询 SQL 数据库中的新工作并对其进行处理。我没有使用 WebJobs SDK,因为它只支持 Azure 存储。

我上传了作业,它运行了,然后它失败了,出现了一个异常,说它无法连接到 SQL 数据库实例。我想知道正在使用什么连接字符串;是否从 Azure 网站获取连接字符串。日志给了我这个:

我想将数据写入这些日志(例如正在使用的连接字符串是什么)。我试过 Console.WriteLine、Debug.WriteLine、Console.Error.WriteLine。它们都没有出现在我的 WebJob 日志中。

显然,我可以通过使用显示我想要的消息文本引发异常来获取数据,但必须有更好的方法!如何将 SYS INFO 行和 ERR 行写入日志?

0 投票
1 回答
7218 浏览

azure-webjobs - Azure WebJobs 的正常关闭

我计划使用连续的 Azure WebJob 发送电子邮件和推送通知。我了解 WebJobs 会因各种原因不时启动和停止。没关系,但我希望有机会在工作被关闭之前“清理”一下。

这样,我的 WebJob 可以更新数据库记录的状态或删除每个批次中已经处理的队列项目,这样下次作业运行时就不会发送重复的消息。

在黑暗中,我尝试将以下代码添加到我的 C# 控制台应用程序中:

然后我使用 keepRunning bool 来控制主 while 循环,并将 Console.Writeline("Exited Gracefully") 放在 while 循环之外。但这似乎没有帮助。当我告诉作业停止时(使用 Azure 网站的 Webjobs 选项卡中的停止按钮),作业从列表中消失,并显示“无法停止作业:'JobName'”。在 Azure 门户中(位于页面底部)。我在 WebJob 的日志中看不到“已正常退出”文本。所以我把那个代码拿出来,因为它没有帮助。

因此,我正在寻找一种好方法,让我的 WebJob 被通知它的秒数已编号,并且它需要按顺序处理它的事务。

0 投票
4 回答
18364 浏览

azure - Azure webjobs 与调度程序

一个非常简单的问题:
如果 Azure WebJobs 是免费的,为什么会有人使用 Azure Scheduler?

我找不到任何关于“azure webjobs vs azure scheduler”的话题

主要区别在于 webjob 包含调度程序可以执行的所有操作:

  • 调度程序可以进行 HTTP 调用
  • WebJob 可以做到这一点以及更多(运行 SQL 命令等)
0 投票
3 回答
2085 浏览

c# - 不等待时配置等待

我有一种async方法可以用来卸载几秒钟的即发即弃的工作,以免减慢我的页面加载速度。这项工作需要一些常规设置和整理;我希望(快速)设置在抛出时同步抛出,但我不想强制整理在 ASP 上下文中运行,所以我ConfigureAwait正在等待的位上使用:

这看起来很奇怪,因为

  • FireAndForgetAfterSetup不应该真正关心它是否是从 ASP 上下文中调用的,那么为什么它必须是调用者ConfigureAwait呢?
  • 如果我改变主意并决定btn_Click应该等待FireAndForget完成,它是否已经丢弃了 ASP 上下文(?)

如果我有误解,有人可以向我解释吗?

0 投票
2 回答
1980 浏览

azure-webjobs - Azure WebJobs ConsoleApp 错误

我在周末尝试了 WebJobs,我的控制台应用程序运行良好 - 直到今天。它开始失败,并在日志页面上显示此错误消息:

今天早上我什么都没改变。所以我想知道自上周末以来是否发生了政策变化?

编辑:这个网络作业属于网站免费层。它计划每10分钟发射一次。难道是因为他们(微软)发现这是一个漏洞?他们还有一个(专用)调度程序服务(预览版),在免费套餐下,您可以运行的最大频率是每小时一次。

0 投票
4 回答
9123 浏览

azure-webjobs - 如何在运行时设置 Azure WebJob 队列名称?

我正在开发一个我想与多个 Azure 网站一起使用的 Azure WebJobs 可执行文件。每个网站都需要自己的 Azure 存储队列。

我看到的问题是ProcessQueueMessage需要将队列名称静态定义为第一个参数的属性inputText。我宁愿让队列名称成为正在运行的 Azure 网站实例的配置属性,并让作业可执行文件在运行时启动时读取它。

有没有办法做到这一点?

0 投票
1 回答
2497 浏览

azure - 将 Azure 存储模拟器与 Web 作业结合使用的连接字符串是什么?

我有一个简单的 WebJob,我希望使用 Azure 存储模拟器对其进行测试。

我目前已将 AzureJobsRuntime 和 AzureJobsData 集设置为使用开发存储,如下所示:

网络作业非常简单:

这会在启动时引发异常:

无效操作异常:

Windows Azure 存储帐户连接字符串格式不正确

我已经能够使用相同的连接字符串和类从网站创建队列并向其添加消息CloudStorageAccount

0 投票
3 回答
2133 浏览

azure-webjobs - Azure WebJobs 中的错误

我创建了一个控制台应用程序并设法将其上传到云端,并且我已安排它每 15 分钟运行一次。控制台应用程序第一次运行并成功,然后失败,说明连接字符串中的错误。有人可以阐明这一点。将不胜感激。

谢谢

错误信息如下:在此处输入图片描述

确保在 Windows Azure 网站配置中设置名为 AzureJobsRuntime 的连接字符串,其值类似于 DefaultEndpointsProtocol=https;AccountName=NAME;AccountKey=KEY 指向存储 Windows Azure WebJobs 运行时日志的 Windows Azure 存储帐户。请访问有关配置连接字符串的文章,以获取有关如何在 Windows Azure 网站中配置连接字符串的更多信息。

0 投票
1 回答
441 浏览

azure - 如何获取 Azure WebJob 的输入 blob 的名称?

我正在使用新的 Azure WebJobs 功能,并且当新文件进入 blob 之一时有一个简单的触发器:

我想做的是获取已上传文件的名称(即数据注释中的 {name} 属性),以便我可以将该信息写入写入器(日志)以进行诊断。

但是,我似乎找不到任何可以为我提供此信息的 TextReader/BlobInput 属性。

我做了一点挖掘,看起来 TextReader 的 BaseStream 属性是一个 Microsoft.WindowsAzure.Jobs.WatchableStream 对象。我不确定这是否有助于追踪名称。

我该如何获得它?

0 投票
2 回答
13153 浏览

azure - Azure WebJobs - 我可以使用异步方法吗?

我想知道 Azure WebJobs SDK 是否可以触发异步方法?目前我有一个如下所示的方法:

但是,我想知道是否可以让 JobHost 知道调用我的异步方法?没有大量关于尝试在 WebJobs 中使用 async/await 的文档,如果可以的话,那就太好了。

我正在尝试在本地运行它以进行测试……但 WebJobs SDK 不支持本地存储模拟器……

2014 年 4 月 7 日更新:维克多的回答是正确的,但我确实想展示在 WebJob 中使用异步方法会看到什么(它们确实有效)。

对于您的 WebJob 中的方法,如下所示:

您将在 WebJobs 日志中看到以下输出: