问题标签 [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.

0 投票
1 回答
620 浏览

c# - azure Webjob TimerTrigger,强制调度

我有一个 azure webjob TimerTrigger。

我们可能会被引导以某种方式停止 webjob(例如更改 appSetting、中止 webjob)。

Webjob 在 Azure 中定义为 TimerTrigger。在 webjob 的 appSettings 中有 AzureWebJobsDashboard 和 AzureWebJobsStorage 的存储帐户。webjob 在一天中的某个时间执行。网络作业的执行可能会持续 5 或 6 个小时。存储帐户(大约 13000 个)和存储表中有大量文字。

问题是 :

重新启动网络作业时,通常会出现UnscheduledInvocationReason: IsPastDue, OriginalSchedule。我想避免这种情况,下一次执行 webjob 将根据 timerTrigger webjob 的 cron 表达式完成。

有可能吗,如果可以,该怎么做?

任何的想法 ?

问候。

0 投票
0 回答
32 浏览

azure-functions - 在 Visual Studio 中本地运行时,如何错开 Azure 函数的启动?

我有一个函数应用程序,里面有几个定时器触发的函数。正常运行时,其中一些会收集数据并将其存储在内存中的静态类变量中,其他函数将使用这些数据。例如, FuncA每 10 分钟运行一次,在内存中填充/刷新数据源 X,FuncB每 5 分钟运行一次,并使用存储在 X 中的任何数据。

在启动时,我需要FuncA运行,以便在 X 中有数据供FuncB使用。我希望FuncB之后立即运行(例如延迟 10 秒)。如果我将这两个函数都设置为RunOnStartup = true,则FuncB将在FuncA有时间填充数据之前运行。我可以让FuncB检查数据是否在 X 中,如果不存在则跳过该迭代,但是我必须等待 5 分钟才能再次执行。我可以在FuncBSystem.Threading.Thread.Sleep(1000)的开头使用并将其设置为在启动时运行,这将为FuncA暂停执行足够长的时间填充数据,但是我的函数每次执行时都会有一个愚蠢的、毫无意义的 10 秒暂停,只是因为我第一次执行时需要它。

我的问题是:有没有办法将FuncB设置为在启动后 10 秒开始执行,但在那之后又回到它通常的执行计划?

0 投票
1 回答
56 浏览

azure-functions - 每月第 5 个工作日的 TimeTrigger - 计划的 Web 作业 Azure

我正在尝试编写一个 TimerTrigger 函数,该函数在每月的第 5 个工作日(每月的第一天,除了周六/周日)运行。如果第一天是周六/周日,它应该在周一运行。到目前为止我知道如何在每个月的 5 号运行工作,但如何排除周六/周日?

0 投票
1 回答
56 浏览

python - 如何在 python 中创建自定义计时器触发的 iotedge 函数?

我的要求是每 5 分钟在我的设备上收集一次数据。这类似于每 5 分钟触发一次的函数应用程序。我的设备资源有限,我希望用 Python 做到这一点。

我尝试过类似的方法,它会一直休眠到时钟是 5 的倍数。

然而,这不符合我的要求,因为它会随着时间的推移而漂移。

我希望在时钟为 10:00、10:05、10:10 时触发 GatherData 函数...

编辑:我忘了提到 GatherData 函数是异步的。

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

c# - C# 中的 TimerTrigger 未触发

我正在使用 TimerTrigger CRON 作业将任务安排为 2 天,但触发器似乎不起作用。以下是我尝试过的代码,

local.settings.json

由于上面的代码不起作用,我在 main() 中添加了以下内容

收到以下错误并显示有关安装 DocumentFormat 包的修复,但安装此包并不能解决 FunctionName 错误。

在此处输入图像描述

我是 C# 的新手,无法在这里找到问题所在。任何帮助或对好的例子的参考都会有所帮助和赞赏。

谢谢你。

0 投票
1 回答
69 浏览

cron - Cron 表达式是 5 或 6 还是 7 字段字符串?

在为azure functions timer trigger学习 Cron 表达式时,我对 cron 表达式的长度感到困惑。

  • 根据此博客,cron 表达式是 6 或 7 字段字符串,其中最后一个字段是可选的。
  • 根据这个博客,cron 表达式是 5 个字段字符串。

为了清楚地理解 cron 表达式,我正在使用这个站点将表达式转换为可读格式,这里只允许 5 个字段。

所以,我有点搞不懂它是 5 字段还是 6 字段还是 7 字段表达式。任何人都可以帮助我了解 cron 表达式的长度,如果可能的话,有没有关于这个 cron 表达式学习的最佳文档?

先感谢您!

0 投票
0 回答
42 浏览

azure-functions - 每次部署时,计时器触发的 Azure 功能都会执行大量积压(部署到具有自动交换功能的辅助插槽,功能已禁用)

目前,我有一个主要是 http 触发的 azure 函数应用程序,其中包含一些计时器触发的函数。为了保持高可用性,我们部署到部署槽,然后自动交换。问题是每次部署发生时,许多看似备份的计时器触发功能都会同时执行。我已禁用此功能在辅助插槽上执行。我不确定创建这些备份作业队列的机制是什么,但有什么方法可以防止这种情况发生吗?

0 投票
1 回答
46 浏览

azure-functions - 如何在队列消息的帮助下使 Timer Trigger 调用 Queue Trigger?

例如,我有 2 个队列触发器,它们将由 Timer Trigger 函数中队列触发器的 2 个不同消息调用。如何调用计时器中的触发器并自动发送消息,以便在触发 Timer 函数时,它会使用 python 语言自动将消息发送到相应的队列?

提前致谢。

0 投票
1 回答
104 浏览

c# - ILogger 在本地的计时器触发函数中跨除 run 方法之外的其他类进行日志记录?

在本地运行我的天蓝色计时器触发器时,我遇到了从其他类的方法记录信息的问题。

我有以下定时器触发功能:

在我创建的这个 Azure 函数中,我还有其他正在使用的类,其中包含应该显示的日志。这些类的一个示例如下:

这里的问题是当我在本地运行这个函数应用程序时,我得到以下结果:

在此处输入图像描述

如您所见,我只看到 ExpServiceFunApp 类中的日志,而没有看到其余类中的日志。我有 7 个其他日志也应该出现。

有人可以解释一下这里发生了什么。并不是说我在本地运行,而且这还没有在 Azure 上发布。我应该从计时器触发器的代码中删除一些东西吗?我应该怎么做才能看到允许其他类的所有日志也出现?