INTEGRITY Документация

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 ↗ и сообщите нам, что вы хотели бы видеть дальше.