在Python中创建Azure TimerTrigger持久函数

问题描述 投票:0回答:2

正如我在标题中声称的那样,是否可以有一个使用 TimerTrigger 而不仅仅是 httpTrigger 触发的天蓝色持久应用程序? 我在这里看到https://learn.microsoft.com/en-us/azure/azure-functions/durable/quickstart-python-vscode一个关于如何使用 HttpTrigger Client 实现它的非常好的示例,我希望有python 中的示例,说明如何使用 TimerTrigger 客户端(如果可能的话)。

感谢任何帮助,提前致谢。

python azure azure-functions azure-durable-functions
2个回答
6
投票

只要关注启动功能就可以了:

__init__py

import logging

import azure.functions as func
import azure.durable_functions as df


async def main(mytimer: func.TimerRequest, starter: str) -> None:
    client = df.DurableOrchestrationClient(starter)
    instance_id = await client.start_new("YourOrchestratorName", None, None)

    logging.info(f"Started orchestration with ID = '{instance_id}'.")

function.json

{
  "scriptFile": "__init__.py",
  "bindings": [
    {
      "name": "mytimer",
      "type": "timerTrigger",
      "direction": "in",
      "schedule": "* * * * * *"
    },
    {
      "name": "starter",
      "type": "orchestrationClient",
      "direction": "in"
    }
  ]
}

0
投票

使用 Python 和 v2 编程模型更新 2024 年

@app.schedule(arg_name="myTimer", schedule="30 * * * * *")
@app.durable_client_input(client_name="client")
async def mytimer(myTimer: func.TimerRequest, client: df.DurableOrchestrationClient):
    instances = await client.get_status_all()
    
    for instance in instances:
        print(instance)
© www.soinside.com 2019 - 2024. All rights reserved.