Альтернатива Supabase Edge Functions для API, cron и фоновых задач
Supabase Edge Functions работают на Deno в V8-изолятах — удобно для лёгкой TypeScript-логики рядом с Postgres. Inquir запускает Node.js 22, Python 3.12 и Go 1.22 в изолированных контейнерах с cron, фоновыми пайплайнами, нативными модулями и auth шлюза — без привязки к проекту Supabase.
Обновлено: 2026-06-28
Кратко
Суть ответа
Альтернатива Supabase Edge Functions для API, cron и фоновых задач. Inquir не требует базы данных — разворачивайте HTTP-функции, cron, вебхуки и фоновые пайплайны без привязки к Postgres-проекту.
Когда подходит и когда нет
- Нужны cron, фоновые пайплайны или долгий async рядом с HTTP-эндпоинтами
- Стек включает нативные Node-модули, Python ML или Go CGO
- Нужен бэкенд-рантайм без привязки к Postgres-проекту Supabase
На что обратить внимание
- Отдельный воркер (Railway, Fly.io, VPS) для фона — второй деплой, второе хранилище секретов и второй дашборд наблюдаемости рядом с Supabase.
- pg_cron в Postgres подходит для простых SQL-расписаний, но не заменяет managed serverless-планировщик с историей прогонов, ретраями и отдельным бюджетом выполнения.
Ситуация: нагрузка и где обычно ломается
Когда Supabase Edge Functions упираются в лимиты
- V8-изоляты: нет нативных Node.js-модулей и npm-пакетов с native bindings
- Нет встроенного cron — Edge Functions вызываются, но не планируются сами
- Фоновые задачи требуют внешней очереди (pg_cron, отдельные воркеры)
- Deno = TypeScript-first — код на Node.js, Python или Go нужно переписывать
Edge Functions оптимизированы для логики рядом с Postgres. Когда нужны cron, фон, Python ML или нативные Node-модули, edge-модель требует обходных путей или дополнительных сервисов.
Компромиссы платформ
Почему смесь Edge Functions и внешних воркеров добавляет трения
Отдельный воркер (Railway, Fly.io, VPS) для фона — второй деплой, второе хранилище секретов и второй дашборд наблюдаемости рядом с Supabase.
pg_cron в Postgres подходит для простых SQL-расписаний, но не заменяет managed serverless-планировщик с историей прогонов, ретраями и отдельным бюджетом выполнения.
Как Inquir помогает в этом сценарии
Одна платформа для функций, cron и фоновых задач
Inquir не требует базы данных — разворачивайте HTTP-функции, cron, вебхуки и фоновые пайплайны без привязки к Postgres-проекту.
Node.js 22 с полным npm, Python 3.12 с ML-библиотеками и Go 1.22 с CGO в изолированных контейнерах. Нативные модули, тяжёлые зависимости и subprocess — через слои.
Что вы получаете на платформе
Inquir vs Supabase Edge Functions
Рантайм
Inquir: Node.js 22, Python 3.12, Go 1.22 в изолированных контейнерах. Supabase: Deno в V8-изолятах (только TypeScript/JavaScript).
Нативные модули
Inquir: native npm, C-расширения Python, CGO через слои. Supabase: native bindings в V8-изолятах недоступны.
Cron / расписания
Inquir: cron-триггеры с историей, ретраями и алертами. Supabase: нет встроенного планировщика функций (pg_cron — SQL, не функции).
Фоновые задачи
Inquir: async-пайплайны из 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 с историей и ретраями.
Фон → пайплайны
Fire-and-forget в Edge Function становится шагом пайплайна — запуск из HTTP-обработчика вне окна запроса.
Пример кода
Supabase Edge Function → Inquir Node.js handler
Supabase использует Deno.serve(); Inquir — стандартный async handler. 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, когда
Когда это уместно
- Нужны cron, фоновые пайплайны или долгий async рядом с HTTP-эндпоинтами
- Стек включает нативные Node-модули, Python ML или Go CGO
- Нужен бэкенд-рантайм без привязки к Postgres-проекту Supabase
Когда лучше выбрать другое
- Бэкенд почти целиком — запросы к Supabase Postgres и RLS; Edge Functions рядом с базой — правильный выбор
Вопросы и ответы
Вопросы и ответы
Можно оставить Supabase для БД, а функции — в Inquir?
Да — часто Supabase как managed Postgres, а API и фон — в Inquir. Подключение через стандартный Postgres URL в секретах.
Нужно ли переписывать TypeScript?
Нет. Inquir поддерживает Node.js 22 с TypeScript (esbuild). Замените Deno.serve() на exported async handler.