问题标签 [timer-trigger]
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 - Azure Webjob 计时器触发器不会触发
我们有两个使用 TimerTrigger 运行的 Azure Webjob 部署(产品和测试)。这两个 Web 应用程序都有一个实例。根据这篇文章,TimeTriggers 使用单例锁来确保没有并行调用。这两个实例使用相同的存储帐户。我们面临的问题是,似乎只有一个部署获得了锁,而其他部署无法获得锁。如果我们停止第一个 webjob,第二个 webjob 将获取锁并开始处理,反之亦然。
锁定是否取决于存储帐户?我们如何确保这两个部署都有单独的锁定机制并同时运行?
azure-webjobs - azure webjob 不会停止(请求停止后继续工作)
我们有以下情况。
我们决定在我们的一个 Web 应用程序中使用 webjob 每 30 秒执行一些工作。
为此,我们使用从 Main 函数调用的以下代码:
我们在 webjob 中只有由计时器触发的方法:
where _container - autofac 容器
我们注意到 2 个奇怪的不同事物(看起来它们是相互关联的):
1) 如果我们使用门户停止 webjob,则 webjob 显示为已停止,但实际上它仍在工作 - 我们在门户上的 Log 中看到日志,并且还登录到我们的 webjob 代码写入的 AppInsights。重新启动 WebApp 没有帮助。唯一的
阻止它的方法是删除 webjob(实际上它一直在工作),然后重新启动 WebApp。只有在那之后,网络作业才停止(实际上它消失了)。
PS:我们的 webjob 使用 TimerTrigger,而 TimerTrigger 又使用分布式锁来保证只会调用一个 wbjob 实例(每 30 秒)。因此,本地启动的实例只有在执行了上述操作(删除和重启)后才能获取锁。- 只是“删除\停止”网络作业继续运行的另一个证据。
2)一段时间后(也许在重新部署之后)我们的网络作业开始引发以下异常
在 Autofac.Core.Activators.Reflection.ConstructorParameterBinding.Instantiate 处理的 System.IO.FileNotFoundException
在尝试解决依赖项时(看起来很奇怪,因为大多数情况下所有依赖项都已成功解决 - 在部署在 azure Web App 或本地时)
谢谢
azure - Azure Functions 失败通知
我在生产中运行了计时器触发的 Azure 函数,但现在我想在函数失败时收到通知。
就我而言,访问各种连接的服务可能会导致崩溃,并且有很多问题需要解决。崩溃是我需要通知的错误类型。
当函数确实失败时,日志条目指示失败,所以我想知道系统中是否有一个挂钩可以让我让系统生成通知。
例如,我知道 blob 和队列绑定支持创建毒队列条目,但计时器触发器绑定并没有说明任何关于这种性质的触发器输出。
我看到函数可以将它们的 $return 状态作为输入传递给其他函数,但是文档中没有深入解释该操作。另外,在这种情况下,我需要编写另一个函数来处理错误状态,并且我正在寻找内置的东西。
我已就此向@AzureSupport 进行过询问,但他们的回答与 Azure Functions 无关,而是将我介绍给 DLL 通知挂钩,然后建议我在 uservoice 上归档。
我敢肯定这里一定有人实施了某种错误状态通知。我更喜欢不需要代码的解决方案。
azure - Azure 功能未按计划时间触发
注意:即使看起来重复,我的问题是不同的,我要求您先阅读完整的描述,然后再通过阅读问题标题匆忙标记问题。
我于2017 年 5 月 24 日在官方“ azure-webjobs-sdk-script ”git 存储库上打开了“ Azure 功能未在预定时间触发”问题,但尚未得到回复。所以我在这里重新问这个。
我在消费计划中使用 azure 函数,并通过在 function.json 中设置以下 cron 表达式来安排它在世界标准时间凌晨 4 点执行:
仅当我登录门户或单击功能刀片时,Azure 功能才会按时执行。当我从门户注销时它不会调用(建议系统侦听器或函数在一段时间后进入睡眠状态)。
他们的官方文档指出,消费计划中的功能不需要任何其他设置(如始终开启)来保持功能处于活动状态,Azure Functions 主机的实例是根据传入事件的数量动态添加和删除的。. 因此,根据文档,我无需配置其他设置来执行消费计划中的功能。
我试过什么?
从 SO 上的“计时器触发 azure 功能未触发”问题,我重新检查并确保了我的计划(消费计划)和时区。(我希望它以 UTC 运行,因此不需要显式设置)
从“ #1445:Azure 函数计时器触发器未触发”的 git 问题,我检查了它是否只是没有出现的日志。但我可以肯定,它不是日志,而是实际功能不会被触发,除非我打开门户或手动触发它。
如果我将调度更改为更接近的递归调用,我试图检查是否存在这种行为——我安排函数每 2 小时执行一次,即使我注销或没有手动唤醒函数,这个调度也能完美运行。这意味着,当计划设置为以更大的间隔运行(在我的情况下是每天)时会出现一些问题
c# - 在每个月的特定日期触发的 Azure 函数 Cron 表达式是什么?
我有 C# Timer Trigger Azure 功能,我想在每个月的特定日期触发。它的 cron 表达式应该是什么?
例如:在每个月的 8 号和 20 号触发工作。
c# - 是否可以使用顺序执行来执行 Azure 功能计时器触发器?
我想通过顺序执行来执行 Azure 计时器触发器。
假设我有间隔 5 分钟的 C# Timer 触发器。但函数执行需要时间为 8 分钟。这意味着在第一次调用完成之前,第二次触发器会启动另一个线程。我怎样才能避免这种情况?
c# - 禁用 Azure Functions 的属性在 Visual Studio 2017 中不起作用
我有带有计时器触发器的 Azure 功能。
在这里Disable("true")
不起作用。它会生成不正确的function.json
as
。"disabled": "True",
它应该是"disabled": True,
Disable 只接受字符串值。有什么办法可以改变这个吗?或任何其他方式来禁用功能?
azure - Azure Timer Trigger webjob:功能正在被识别但未被触发
我有一个 Azure 计时器触发器 webjob,部署在两个不同的环境中,有两个不同的存储帐户。Webjobs 已经部署了大约两个月,并且按预期运行了相当长的一段时间。但是,大约一个星期以来,该功能正在被识别但没有被执行。
以下是日志的外观:
Job 主机启动后没有任何反应,即没有调用/执行函数 ProcessTimerMessage。这是函数的外观:
Main 方法如下所示:
即使我尝试在本地调试 webjob,也会发生同样的情况。可能的原因/解决方案是什么?
任何帮助表示赞赏。
azure - 想在 Azure Web Job 中以不同的时间间隔触发不同的方法
我通过网站托管了我的网络作业(带有选项将现有项目添加为Azure Webjob)。我想在不同的时间间隔触发不同的方法。
代码 :
和 webjob-publish-settings.json 是:
我需要一个解决方案,以便我可以在 2 秒或 4 秒触发这些功能。
因此,当我的 Azure Web 作业托管在不同的网站上时,我想在 Azure Web 作业的不同时间间隔触发不同的方法。