Inquir Compute logoInquir Compute
Платформа · Inquir Compute

Cron job platform: история, алерты и API рядом с расписаниями

Один шлюз для HTTP-API, cron-задач и вебхуков. Полные cron-выражения, история каждого прогона, повторы и секреты в одном рабочем пространстве — без crontab, K8s CronJob и отдельного scheduler-сервиса.

Last updated: 2026-04-20

Direct answer

Cron job platform: история, алерты и API рядом с расписаниями. API, cron и вебхуки — в одном рабочем пространстве с общими секретами, рантаймом и историей вызовов. Деплой обновляет всё сразу.

When it fits

  • Нужны API и cron в одном рабочем пространстве
  • Важна история и алерты без внешнего мониторинга

Tradeoffs

  • Без истории прогонов тихий сбой в 3 ночи обнаруживается утром из жалоб пользователей.
  • Управлять секретами, переменными окружения и версиями кода в трёх местах — двойная нагрузка на дежурство.

Зоопарк планировщиков

  • Expression validation before the first missed run
  • Execution history: when did it run, how long, what output
  • Retries: automatic re-run on failure without manual intervention
  • Shared secrets with HTTP API routes (no parallel env file on a server)
  • Alerts: notify when a job fails or takes longer than expected

Crontab на VPS, Kubernetes CronJob, Heroku Scheduler, EventBridge Rules — каждый проект накапливает по несколько планировщиков в разных местах без единой истории.

Почему изолированные планировщики сложны

Без истории прогонов тихий сбой в 3 ночи обнаруживается утром из жалоб пользователей.

Управлять секретами, переменными окружения и версиями кода в трёх местах — двойная нагрузка на дежурство.

Единая платформа для расписаний и API

API, cron и вебхуки — в одном рабочем пространстве с общими секретами, рантаймом и историей вызовов. Деплой обновляет всё сразу.

Полные cron-выражения, история каждого прогона, алерты на ошибки — не нужен отдельный мониторинг.

Что входит в cron job platform

Полные cron-выражения

`0 9 * * 1-5`, `*/15 * * * *`, `0 0 1 * *` — любой стандартный cron с валидацией при вводе.

История прогонов

Каждый запуск рядом с HTTP-вызовами в консоли: время, длительность, статус, логи.

Повторы

Настраиваемая политика: сколько попыток и с какой выдержкой при временных ошибках.

Параллельные задачи

Несколько задач с разными расписаниями и рантаймами в одном рабочем пространстве.

Как организовать cron на Inquir

1

Написать функцию

Обработчик события со всей логикой задачи. Рантайм: Node.js, Python или Go.

2

Добавить расписание

Пайплайн с cron-триггером: ввести выражение, сохранить — следующий запуск подтверждается сразу.

3

Настроить алерты

Задача упала — уведомление. История хранится в консоли, не нужен отдельный мониторинг.

Certificate expiry checker (cron job)

Runs daily at 08:00 UTC, checks TLS certificate expiry for a list of domains, and sends alert if any expire within 30 days.

jobs/cert-checker.mjs
import tls from 'node:tls';
import net from 'node:net';

async function checkExpiry(hostname) {
  return new Promise((resolve, reject) => {
    const socket = tls.connect({ host: hostname, port: 443 }, () => {
      const cert = socket.getPeerCertificate();
      socket.destroy();
      resolve(new Date(cert.valid_to));
    });
    socket.on('error', reject);
  });
}

export async function handler(event) {
  const domains = process.env.DOMAINS_TO_MONITOR?.split(',') ?? [];
  const results = await Promise.all(
    domains.map(async (d) => ({ domain: d, expiry: await checkExpiry(d) })),
  );
  const expiringSoon = results.filter(
    (r) => r.expiry.getTime() - Date.now() < 30 * 86_400_000,
  );
  if (expiringSoon.length > 0) await sendAlert(expiringSoon);
  return { checked: domains.length, expiringSoon: expiringSoon.length };
}

Когда использовать

Когда это уместно

  • Нужны API и cron в одном рабочем пространстве
  • Важна история и алерты без внешнего мониторинга

Когда лучше не трогать

  • Один простой cron без требований к истории — crontab достаточен

Вопросы и ответы

Сколько cron-задач можно создать?

Зависит от тарифа рабочего пространства; деталей в публичной документации.

Можно запустить задачу вручную?

Да — через UI или HTTP-вызов пайплайна; история включает ручные прогоны.

Inquir Compute logoInquir Compute

Самый простой способ запускать AI-агентов и backend-джобы без инфраструктуры.

Связаться info@inquir.org

© 2025 Inquir Compute. Все права защищены.