问题标签 [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.
azure - TimerTrigger on we bjob with .net core 2.2
我正在使用 Microsoft.Azure.Webjobs (3.0.8),并且在编译时出现错误
我正在查看 nuget 文档中的示例,但看不到导致问题的原因。
我的功能是
我注意到空值是用于connectionString的参数 我不确定它用于 TimerTrigger 虽然
azure - Azure WebJob 可以仅包含控制台应用程序,还是应仅使用 JobHost 构建以按需运行?
我正在构建一个同步一些 Azure AD 数据的工作。它应该每小时运行一次。为此,我正在考虑是否需要添加 JobHost 实现,或者仅拥有一个带有 settings.job 文件的 ConsoleApp 并添加为作业就足够了?
谢谢
azure-webjobs - 连续网络作业与为计划运行触发
我有一个需要定期运行的网络作业,但它与 cron 表达式连续而不是触发类型。尤其是在任何性能方面,它会有什么不同吗?非常感谢您对理解这一点的任何帮助
c# - 如何编写计划/触发/按需 webjob 控制台应用程序以检测关闭,以便可以优雅地处理它?
我正在将现有的 c# .net 应用程序作为触发(按需,而不是使用队列/触发器/函数连续)网络作业运行。有时运行时间很长,比如 30 多分钟。效果很好。
[已编辑] 如果我尝试停止 webjob,通过在我的应用程序服务的应用程序设置中将 WEBJOBS_STOPPED 设置为 1,那么如果 Azure/Kudu 没有正常检测到关闭并及时终止,则 webjob 将被 Azure/Kudu 中止(5秒?30 秒?)
我已经尝试使用 WebJobsShutdownWatcher() 作为几个示例说明,并且正如 Joey 指出的那样,但它仍然没有检测到关闭,并且 Azure/Kudu 无论如何都会中止它。我什至手动编写了检查关闭文件是否存在的代码(请参阅 GitHub 中的 WebJobsShutdownWatcher() 代码),但该文件似乎没有为我的触发/按需网络作业创建,因此我的代码什么也没检测到。
我最初的问题是:WebJobsShutdownWatcher() 是否适用于 Triggered(OnDemand) 网络作业?还是仅适用于连续网络作业?我怀疑 WebJobsShutdownWatcher 只适用于 Continuous webjobs,所以在我花更多时间尝试调试它之前,我想在这里问一下。
我认为乔伊的回答有效,但我自欺欺人,因为控制台应用程序似乎因关闭而终止,但我现在认为它终止是因为我没有正确编码。无论如何,即使使用 .Register() 或检查 .Token.IsCancellationRequested,我的控制台应用程序似乎也没有收到通知,因此一旦我将 WEBJOBS_STOPPED 设置为 1,Azure/Kudu 就会中止它。
所以我开始想,也许还有其他 Azure 代码我必须添加到我的简单控制台应用程序中,我不知道,比如 JobHost 初始化和 host.RunAndBlock() 或类似的东西,让 Azure 做这件事并触发我使用 .Register 注册的匿名函数,或设置 .Token.IsCancellationRequested 标志。
我已经包含了我的整个简单测试程序,欢迎所有建议,尽管我会说我希望对我的 vanilla .NET 控制台应用程序进行最小的更改,我真的不想创建比我必须做的更多的东西,比如 JobHost (),或者触发了我必须在 Azure 中配置才能触发的功能。只是一个简单的控制台应用程序,带有一个带有 cron 计划的 settings.job,它运行和停止、运行和停止,如果它检测到 webjob 关闭,则提前终止以避免 Azure/Kudu 中止。
谢谢,博
c# - 计划的 .NET WebJob V3 示例
我已将我的 .NET(不是 .NET Core)WebJob 从 V2(运行良好)升级到 V3。我无法让它运行。我只是想让 webjob 调用我根据这个 CRON 时间表编写的函数:“0 0 8,10,12,14,16,18,20 * * *”。它运行的网站也是 .NET,而不是 .NET Core。
我该怎么做呢?我只想要一个简单的.NET 代码示例。我已经看到这个问题New Azure WebJob Project - JobHostConfiguration/RunAndBlock missing after NuGet 更新和这个例子https://github.com/Azure/azure-webjobs-sdk/blob/00686a5ae3b31ca1c70b477c1ca828e4aa754340/sample/SampleHost/Program.cs和这个文档https://docs.microsoft.com/en-us/azure/app-service/webjobs-sdk-how-to#triggers但没有任何帮助。
asp.net - 持续部署后 Azure 运行触发的 webjob 不会更新
我在 .NET Azure 网站上运行了一个 .NET 触发的网络作业。我使用 Azure DevOps 设置了持续部署。有没有办法自动将正在运行的触发网络作业更新到最新版本,即当我推送提交时?该网站在提交时自动重新部署,这很好,但不是 webjob。目前,似乎我必须删除门户中的 webjob,重新部署站点,然后再次手动触发门户中的 webjob。
c# - System.Runtime.Serialization.SerializationException 从 Azure 服务总线接收消息
我在.Net Framework中有两个单独的应用程序,一个是.Net Core,另一个是.Net Core 。我在 .Net 核心控制台应用程序中创建了一个服务总线发送器。它使用最新和nuget 包向服务总线发送消息。这是发件人的示例代码。Microsoft.Azure.Webjobs
Microsoft.Azure.Webjobs.ServiceBus
用 .NET Framework 4.7 编写的另一个应用程序正在侦听相同的服务总线。它使用 nuget 包Microsoft.Azure.Webjobs
和Microsoft.Azure.Webjobs.ServiceBus
.Net Framework 的 2.3.0 版本。下面的示例代码。
从 .Net 核心控制台应用程序发送消息。另一个应用程序能够检测到该消息,但我var messageBody = message.GetBody<string>();
在侦听器中在线收到以下错误。
执行函数时出现异常:Applications Microsoft.Azure.WebJobs.Host.FunctionInvocationException:执行函数时出现异常:Applications ---> System.Runtime.Serialization.SerializationException:反序列化 System.String 类型的对象时出错。输入源的格式不正确。---> System.Xml.XmlException : 输入源格式不正确。
azure-webjobs - QueueTrigger:带有编码错误的消息不会将消息推送到毒队列
我有响应队列消息的 webjob 队列触发器,它工作正常。但是,有时我们会手动将消息推送到队列中,并且如果存在导致 DecoderFallBackException 的手动错误。但奇怪的行为是,看起来 webjob 不断尝试无限次,而我们的 AI 日志正在造成混乱。我尝试重新启动 webjob 以查看它是否清除了任何内部缓存但没有帮助。唯一有帮助的是删除队列
理想情况下,超出双端队列计数的任何异常都应将消息移动到毒队列。
azure - 单个网络作业是否可以同时具有计时器触发功能和手动触发功能
我在 .net 核心中有一个现有的 webjob(V3.0),它有一个由手动触发器调用的函数,基本上是由一个 webhook。我想向同一个 webjob 添加另一个函数,该函数应该每 20 分钟在 Timer 触发器上调用一次。是否可以将这两者都放在同一个网络作业中。如果可能的话,我需要做什么主机配置。我尝试浏览 Microsoft 的文档,但几乎没有任何关于具有多个触发器的主机配置部分的文档
azure - 在 Azure 表中完成插入后,是否可以自动创建触发/计划的 Web 作业?
我们有一个需求,我们希望创建一个计划的 Web 作业来调用 API 并在每晚 12:00 AM 处理一些数据。但是,每个作业都需要在表中记录所属的特定时区的凌晨 12:00 触发。
在表中完成条目后,是否可以按预定时间自动创建 Web 作业?API 所需的时区信息以及其他输入将在表记录中。据我用谷歌搜索,我无法找到是否可以在事件发生后自动创建网络作业。