Сравнение · Inquir Compute

Альтернатива 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 не требует наличия базы данных — деплойте 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

1

Перенести TypeScript-обработчики

Обработчики Supabase — обычные Deno-модули. Перенесите их в Node.js ESM (export async function handler) с минимальными правками — большинство вызовов Web API переносится напрямую.

2

Перевести cron на расписания пайплайнов

Замените pg_cron и внешние таймеры cron-триггерами пайплайнов Inquir. История запусков и настройка ретраев появляются сразу.

3

Перевести фоновую работу в пайплайны

Любая логика «запустил и забыл» внутри Edge Functions становится шагом пайплайна — запускается из HTTP-обработчика и выполняется вне окна запроса.

Supabase Edge Function → обработчик Node.js в Inquir

Supabase использует Deno.serve(); Inquir — стандартный экспорт async-обработчика. Поверхность Web API (Request, Response, fetch) совместима; переменные окружения работают так же.

supabase/functions/hello/index.ts (Supabase Edge Function)
// 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' },
  });
});
api/hello.mjs (обработчик Inquir)
// 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-обработчик.