Azure functions Azure计时器触发器函数根本没有执行脚本日志

Azure functions Azure计时器触发器函数根本没有执行脚本日志,azure-functions,Azure Functions,我正在用测试模板测试计时器触发器函数,无法执行脚本和任何日志,因为“JavaScript计时器触发器函数已运行!”。它以前对我有效,但第二天它根本不执行脚本,函数本身似乎正在运行,但我无法测试脚本,也不了解问题所在。 myfunction.js文件 { "bindings": [ { "name": "myTimer", "type": "timerTrigger", "direction": "in", "schedule": "0

我正在用测试模板测试计时器触发器函数,无法执行脚本和任何日志,因为“JavaScript计时器触发器函数已运行!”。它以前对我有效,但第二天它根本不执行脚本,函数本身似乎正在运行,但我无法测试脚本,也不了解问题所在。 myfunction.js文件

{
  "bindings": [
    {
      "name": "myTimer",
      "type": "timerTrigger",
      "direction": "in",
      "schedule": "0 * * * * *",
      "runOnStartup": true
    }
  ]
}
local.settings.json

{
  "IsEncrypted": false,
  "Values": {
    "FUNCTIONS_WORKER_RUNTIME": "node",
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "githubKey": "sample123"
  },
  "Host": {
    "LocalHttpPort": 7071,
    "CORS": "*",
    "CORSCredentials": false
  }
}
这是我在候机楼里的东西

index.js

 module.exports = async function (context, myTimer) {
    var timeStamp = new Date().toISOString();

    if (myTimer.IsPastDue)
    {
        context.log('JavaScript is running late!');
    }
    context.log('JavaScript timer trigger function ran!', timeStamp);   
};

我可以重现您的问题,然后在github中发现相同的问题:

这是由Singleton Lock引起的,更多详细信息请参考以下内容:,并在本地开发中注明:

ListenerLockPeriod的默认值为60秒,这意味着如果 主机被意外终止(例如,当 本地运行)无法重新获取已持有的blob租约 直到租约自然到期。这意味着如果你杀了一个 正在运行的实例然后尝试立即重新启动JobHost, 您将看到函数不会立即开始运行,因为 它正在等待获取Singleton锁

假设这就是问题的原因,因此在github问题中有一个,在host.json中设置
listenerLockPeriod

以下是一个示例:

"singleton": {
    "listenerLockPeriod": "00:00:15" 
  }

在我这方面没有问题。你能重新创建一个函数并再次测试吗。看起来没问题。您能显示函数的.js文件部分(javascript)吗?请注意,function和local.settings是.json而不是js。将示例代码放在github中,很容易检查。@BowmanZhu u的意思是index.js它是默认的脚本代码,但很抱歉,在运行该函数时,我仍然看不到日志:(((如果您将值更改得更小,如5,如果堆栈日志中的
listenLockPeriod
也更改了,如果您的日志也更改了,则会显示下一个5的运行时间,该怎么办?抱歉,我没有完全理解,但您的意思是将listenLockPeriod从15更改为5?@geogechenyes,也许您可以尝试一下,不要立即启动函数。我在c之后出现此错误。)hange“启动操作“54405405-d786-41e5-b4da-e225a6baa111”期间发生主机错误。System.Private.CoreLib:调用目标引发了异常。Microsoft.Azure.WebJobs.host:指定的参数超出了有效值的范围。参数名称:value。”