问题标签 [azure-webjobs-triggered]

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 回答
232 浏览

azure - 让 Azure Webjob Function 在启动时运行一次

有没有一种特定的方法可以让 Azure WebJobs 在启动时触发一个函数而不使用外部消息/触发器?我知道可以将 RunOnStartup 注释添加到 TimerTrigger 触发器,但仍然需要时间间隔来运行该函数。就我而言,我只是想在启动时运行一次该功能。

0 投票
0 回答
25 浏览

c# - Azure Webjob 自动绑定路径无效?

我正在使用 Azure Webjobs 执行各种任务。我已经使我的代码可以发送电子邮件,如下所示:

我知道目前它非常简单,但这是一个原理演示......而不是使用 Blob 客户端等的所有恶作剧,我在这里的 MS Docs 中读到我应该能够将流传递到代码中. 因此将函数签名更改为:

我认为应该从队列中的消息中读取 Blob 并结合容器名称?(这是'rafflegamestore'...... _appSettings.DataStoreRoot 在 appsettings.json 中也设置为此......

这很好用,但是当我在上面使用它来尝试获取“mailBlob”时它失败了,说明 BlobPath 无效。我尝试更改字符串以将斜杠作为''上的正向并将其转义为'\',但均无效。

我确定我只是在做一些愚蠢的事情……但我真的很想让这项工作有什么想法吗?

0 投票
0 回答
42 浏览

azure-webjobs - 关于 azure web job singleton lock 的意外行为的问题

我们已经部署了 2 个区域的 Web 应用程序,每个区域都有 1 个运行相同计时器触发的 Web 作业的实例。用于保证单例的分布式锁由 AzureWebJobsStorage 存储帐户提供支持。我发现当这个存储帐户完全可用时,单例工作。但是当此存储帐户不可用时(例如,不正确的连接字符串导致身份验证错误,存储帐户服务关闭导致服务不可用错误等),两个 Web 作业的区域实例都会运行。这种行为是预期的吗?

如果是,我们的要求是任何时候最多只能运行 1 个 Web 作业实例。是否有任何配置旋钮来调整此行为,以便当 AzureWebJobsStorage 不可用时,不运行任何实例,而不是运行所有实例?

0 投票
1 回答
32 浏览

azure-webjobs - 通过 SQL Server 存储过程执行 webjobs

我有一个非常简单的C# 控制台 exe。我的代码从特定的 blob 存储中删除了一个 blob。它需要几个命令行参数 - 容器名称和 blob 名称,并在触发时删除 blob。现在,我想将此 exe 安排为网络作业。

我有一些问题 -

  1. 由于它需要命令行参数,我如何手动触发这个网络作业
  2. 有什么方法可以通过 SQL 服务器存储过程触发这个网络作业
0 投票
1 回答
60 浏览

azure - 计划的 Azure Web 作业超时

我试图让 Azure webjob 每小时运行一次,但是文档非常混乱,或者我遗漏了一些东西。我正在使用TimerTrigger具有以下签名的 a:

并将其部署在 Azure 中。当我在 Azure 中运行 webjob 时,在输出中我看到:

所以一切看起来都很好。在 azure 门户的 webjob 窗格中,计划列的值为 n/a,因为我没有在 settings.job 中提供计划,当我手动启动 webjob 时,几分钟后出现以下错误

所以我的问题是我应该如何使用 TimerTrigger 让一个方法每小时或每天运行一次?我是否也需要有一个时间表(有点违背 TimerTrigger 的目的)?

任何帮助表示赞赏

0 投票
1 回答
55 浏览

azure - 基于功能的多个队列触发 Web 作业与单个 Web 作业

我有一个 Azure 应用服务,其中有多个 Web 作业。这些 Web 作业是队列触发的(有一个存储帐户,我在其中为不同的代码功能创建了多个队列,并且当将消息添加到它正在侦听的队列中时,每个 Web 作业都会被触发)。

例如:

  • 插入队列消息 -> 由插入 Web 作业处理
  • 更新队列消息 -> 由更新 Web 作业处理
  • 删除队列消息 -> 由删除 Web 作业处理

所有 Web 作业都托管在同一个应用服务中。

从资源消耗(CPU、内存使用)的角度来看,哪种方法更好:

  1. 是否有基于功能的专用队列和 Web 作业?
  2. 有一个“主”队列和一个监听队列并根据消息类型执行不同操作的 Web 作业?
0 投票
0 回答
37 浏览

.net-core - 抛出 FunctionTimeoutException 后自动重新调度 TimerTrigger

我们正在使用 Azure Web Jobs SDK 创建一个包含一个TimerTrigger侦听器的 Web 作业。侦听器配置为每 30 秒运行一次,超时设置为 5 秒。

不幸的是,一旦Microsoft.Azure.WebJobs.Host.FunctionTimeoutException: Timeout value of 00:00:05 was exceeded by function: Functions.RunApplication抛出,WebJobHost 与现有的 Timer-triggered Listener 一起被关闭。以下是相关日志:

Web 作业在超时时的期望行为是,而不是关闭主机,只需重新调度侦听器并在下一个时间间隔重新运行它。我们应该怎么做?

0 投票
1 回答
137 浏览

c# - 如何使用asp .net c#启动和停止计划webjob

我已经为一些 Web 应用程序调用创建了一个触发 Web 作业,但我有一个要求,即触发作业客户应该能够在需要时启动或停止,并且还可以安排。

我已经使用 webjobs rest API 完成了计划部分,但我无法完成启动和停止工作,因为触发器作业没有任何选项。

有没有办法启动和停止触发 webjob。我曾尝试使用 kudo kill 进程,但在 webjob 触发器完成后,它不会出现在进程资源管理器中。

请帮助我了解停止和启动触发 Web 作业流程的更好方法。我还发现我们可以将应用程序设置添加到主应用程序,如WEBJOBS_STOPPEDWEBJOBS_DISABLE_SCHEDULE但这将取决于并且每次都需要更新它,我想完全依赖 webjob 设置而不是主应用程序设置。

0 投票
1 回答
151 浏览

c# - 无法将参数“消息”绑定到类型 ServiceBusReceivedMessage

我注册了 Azure WebJobs 方法,如下所示

Program.cs

UserFunctions.cs

我检查了下面的代码示例: https ://docs.microsoft.com/en-us/dotnet/api/overview/azure/microsoft.azure.webjobs.extensions.servicebus-readme-pre

并且找不到区别。

我正在使用以下 nuget 包:

  1. https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.ServiceBus/ https://www.nuget.org/packages/Azure.Messaging.ServiceBus/

我收到以下错误:

我在这里错过了什么吗?

0 投票
0 回答
53 浏览

c# - 您可以将参数传递到计划的 Azure Webjob 中吗

我有一个控制台应用程序,它每天在 azure webjob 上运行。我正在尝试将参数传递到预定的 Web 作业而不重新部署。

我已经看到您可以将参数添加到 webhook Url 但是由于 Azure Scheduler depercated 您似乎无法编辑 Webhook 以添加到?arguments={your arguments}.
我也尝试过使用环境变量,但控制台应用程序无法访问它们。

如果这有任何帮助。我通过 Visual Studio 发布控制台应用程序。
webjob 类型被触发。
我使用 settings.job 文件来设置 cron