使用 Cloud Tasks 队列缓冲工作流执行
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
创建大量任务并将其添加到 Cloud Tasks 队列中,以执行子工作流。
深入探索
如需查看包含此代码示例的详细文档,请参阅以下内容:
代码示例
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],[],[],[],null,["# Use a Cloud Tasks queue to buffer your workflow executions\n\nCreates and adds a large number of tasks to the Cloud Tasks queue to execute a child workflow.\n\nExplore further\n---------------\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [Use a Cloud Tasks queue to buffer your workflow executions](/workflows/docs/tutorials/buffer-workflows-executions)\n\nCode sample\n-----------\n\n### YAML\n\n main:\n steps:\n - init:\n assign:\n - project_id: ${sys.get_env(\"GOOGLE_CLOUD_PROJECT_ID\")}\n - project_number: ${sys.get_env(\"GOOGLE_CLOUD_PROJECT_NUMBER\")}\n - location: ${sys.get_env(\"GOOGLE_CLOUD_LOCATION\")}\n - workflow_child_name: \"workflow-child\"\n - queue_name: \"queue-workflow-child\"\n - enqueue_tasks_to_execute_child_workflow:\n for:\n value: iteration\n range: [1, 100]\n steps:\n - iterate:\n assign:\n - data:\n iteration: ${iteration}\n - exec:\n # Encode object to JSON string in expression for workflow argument\n argument: ${json.encode_to_string(data)}\n - create_task_to_execute_child_workflow:\n call: googleapis.cloudtasks.v2.projects.locations.queues.tasks.create\n args:\n parent: ${\"projects/\" + project_id + \"/locations/\" + location + \"/queues/\" + queue_name}\n body:\n task:\n httpRequest:\n body: ${base64.encode(json.encode(exec))}\n url: ${\"https://workflowexecutions.googleapis.com/v1/projects/\" + project_id + \"/locations/\" + location + \"/workflows/\" + workflow_child_name + \"/executions\"}\n oauthToken:\n serviceAccountEmail: ${project_number + \"-compute@developer.gserviceaccount.com\"}\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=workflows)."]]