Альтернатива Supabase Edge Functions для API и пайплайнов с расписаниями и фоновыми запусками
Supabase Edge Functions запускают Deno в V8-изолятах — удобно для лёгкой TypeScript-логики рядом с вашей базой Postgres. Inquir запускает Node.js 22, Python 3.12 и Go 1.22 в изолированных контейнерах с пайплайнами, их расписаниями и фоновыми запусками, поддержкой нативных модулей и авторизацией на шлюзе — без обязательного проекта Supabase.
Обновлено: 2026-06-28
Кратко
Суть ответа
Альтернатива Supabase Edge Functions для API и пайплайнов с расписаниями и фоновыми запусками. Inquir не требует наличия базы данных — деплойте HTTP-функции, обработчики вебхуков и пайплайны с расписаниями и фоновыми запусками без привязки к проекту Postgres.
Когда подходит
- Нужны пайплайны с расписаниями и фоновыми запусками рядом с HTTP-эндпоинтами
- В стеке есть нативные модули Node.js, ML-библиотеки Python или код на Go с CGO
- Нужен бэкенд-рантайм, который работает без привязки к проекту Supabase Postgres
На что обратить внимание
- Отдельный сервис воркера (Railway, Fly.io, VPS) для фоновых задач — это второй пайплайн деплоя, второе хранилище секретов и вторая настройка наблюдаемости рядом с проектом Supabase.
- pg_cron внутри Postgres подходит для простых повторяющихся запросов, но не заменяет управляемый serverless-планировщик задач с историей запусков, ретраями и отдельными бюджетами выполнения.
Нагрузка и где ломается
Когда Supabase Edge Functions упираются в лимиты
- V8-изоляты: нет нативных модулей Node.js и npm-пакетов с нативными привязками
- Нет встроенных cron-расписаний — Edge Functions вызываются, а не планируются
- Фоновые задачи требуют внешней очереди (pg_cron, внешние воркеры)
- Рантайм Deno — это TypeScript-first: код на Node.js, Python или Go придётся переписывать
Supabase Edge Functions оптимизированы под логику рядом с данными, которая дополняет Postgres. Когда нужны cron, фоновая обработка, ML-инструменты на Python или нативные модули Node.js, модель edge-изолятов требует обходных путей или дополнительных сервисов.
Компромиссы платформ
Почему Edge Functions плюс внешние воркеры добавляют трения
Отдельный сервис воркера (Railway, Fly.io, VPS) для фоновых задач — это второй пайплайн деплоя, второе хранилище секретов и вторая настройка наблюдаемости рядом с проектом Supabase.
pg_cron внутри Postgres подходит для простых повторяющихся запросов, но не заменяет управляемый serverless-планировщик задач с историей запусков, ретраями и отдельными бюджетами выполнения.
Как помогает Inquir
Одна платформа для функций и пайплайнов с расписаниями
Inquir не требует наличия базы данных — деплойте HTTP-функции, обработчики вебхуков и пайплайны с расписаниями и фоновыми запусками без привязки к проекту Postgres.
Node.js 22 с полной экосистемой npm, Python 3.12 с ML-библиотеками и Go 1.22 с поддержкой CGO работают в изолированных контейнерах. Нативные модули, тяжёлые зависимости и вызовы дочерних процессов — всё это работает через слои.
Что вы получаете
Inquir и Supabase Edge Functions: сравнение
Рантайм
Inquir: Node.js 22, Python 3.12, Go 1.22 в изолированных контейнерах. Supabase: Deno в V8-изолятах (только TypeScript/JavaScript).
Нативные модули
Inquir: нативные npm-пакеты, Python-библиотеки с C-расширениями, CGO через слои. Supabase: нативных привязок в V8-изолятах нет.
Расписания пайплайнов
Inquir: cron-триггеры пайплайнов с историей запусков, ретраями и алертами. Supabase: встроенного планировщика функций нет (pg_cron запускает SQL, а не функции).
Фоновые задачи
Inquir: асинхронные триггеры пайплайнов из HTTP-обработчиков, без давления HTTP-таймаута. Supabase: встроенной системы фоновых задач для Edge Functions нет.
Что дальше
Миграция с Supabase Edge Functions на Inquir
Перенести TypeScript-обработчики
Обработчики Supabase — обычные Deno-модули. Перенесите их в Node.js ESM (export async function handler) с минимальными правками — большинство вызовов Web API переносится напрямую.
Перевести cron на расписания пайплайнов
Замените pg_cron и внешние таймеры cron-триггерами пайплайнов Inquir. История запусков и настройка ретраев появляются сразу.
Перевести фоновую работу в пайплайны
Любая логика «запустил и забыл» внутри Edge Functions становится шагом пайплайна — запускается из HTTP-обработчика и выполняется вне окна запроса.
Пример кода
Supabase Edge Function → обработчик Node.js в Inquir
Supabase использует Deno.serve(); Inquir — стандартный экспорт async-обработчика. Поверхность Web API (Request, Response, fetch) совместима; переменные окружения работают так же.
// Supabase Edge Function Deno.serve(async (req) => { const { name } = await req.json(); const data = { message: `Hello ${name}!` }; return new Response(JSON.stringify(data), { headers: { 'Content-Type': 'application/json' }, }); });
// Inquir Node.js 22 handler — same logic, different entry point export async function handler(event) { const { name } = JSON.parse(event.body || '{}'); return { statusCode: 200, headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ message: `Hello ${name}!` }), }; }
Когда подходит
Выбирайте Inquir вместо Supabase Edge Functions, когда
Когда это уместно
- Нужны пайплайны с расписаниями и фоновыми запусками рядом с HTTP-эндпоинтами
- В стеке есть нативные модули Node.js, ML-библиотеки Python или код на Go с CGO
- Нужен бэкенд-рантайм, который работает без привязки к проекту Supabase Postgres
Когда лучше выбрать другое
- Бэкенд почти целиком состоит из запросов к Supabase Postgres и RLS — там Edge Functions рядом с базой подходят лучше
Частые вопросы
Частые вопросы
Можно ли оставить Supabase для базы, а функции вести в Inquir?
Да — многие команды используют Supabase как управляемый Postgres, а API и логику фоновых задач держат в отдельном рантайме. Функции Inquir подключаются к Supabase Postgres по стандартному URL Postgres.
Нужно ли переписывать TypeScript для Inquir?
Нет. Inquir поддерживает Node.js 22 с TypeScript (через esbuild). Большинство TypeScript-обработчиков Supabase переносятся напрямую — замените Deno.serve() на экспортируемый async-обработчик.