← Cloudflare Workflows / workflows
Python Workflows SDK
Точки входа Workflow можно объявлять на Python. Для этого можно экспортировать WorkflowEntrypoint который выполняется на платформе Cloudflare Workers.
См. Python Workers чтобы узнать больше о Python в среде выполнения Workers.
Начало работы
Основной точкой входа для Python Workflow является WorkflowEntrypoint класс. Логика вашего Workflow должна находиться внутри run обработчик.
from workers import WorkflowEntrypoint
class MyWorkflow(WorkflowEntrypoint):
async def run(self, event, step):
# steps hereНапример, Workflow можно определить следующим образом:
from workers import Response, WorkflowEntrypoint, WorkerEntrypoint
class PythonWorkflowStarter(WorkflowEntrypoint):
async def run(self, event, step):
@step.do('step1')
async def step_1():
# does stuff
print('executing step1')
@step.do('step2')
async def step_2():
# does stuff
print('executing step2')
await step_1()
await step_2()
class Default(WorkerEntrypoint):
async def fetch(self, request):
await self.env.MY_WORKFLOW.create()
return Response("Hello world!")Нужно добавить оба python_workflows и python_workers флаги совместимости в файл конфигурации Wrangler.
{
"$schema": "./node_modules/wrangler/config-schema.json",
"name": "hello-python",
"main": "src/entry.py",
"compatibility_flags": [
"python_workers",
"python_workflows"
],
// Set this to today's date
"compatibility_date": "2026-08-28",
"workflows": [
{
"name": "workflows-demo",
"binding": "MY_WORKFLOW",
"class_name": "PythonWorkflowStarter"
}
]
}"$schema" = "./node_modules/wrangler/config-schema.json"
name = "hello-python"
main = "src/entry.py"
compatibility_flags = [ "python_workers", "python_workflows" ]
# Set this to today's date
compatibility_date = "2026-08-28"
[[workflows]]
name = "workflows-demo"
binding = "MY_WORKFLOW"
class_name = "PythonWorkflowStarter"Чтобы запустить Python Workflow локально, используйте Wrangler, интерфейс командной строки для Cloudflare Workers:
npx wrangler@latest devЧтобы развернуть Python Workflow в Cloudflare, выполните wrangler deploy:
npx wrangler@latest deployПрисоединяйтесь к каналу #python-workers в Cloudflare Developers Discord ↗ и сообщите нам, что вы хотели бы видеть дальше.