Pular para o conteúdo
use-cases / edit-crontab-from-phone / hero
CRON · PATCH · GATE 47B

Edite seu crontab pelo celular, no aeroporto

Anúncio de embarque. O job do relatório diário está marcado para 7h UTC, mas o destinatário está em Tóquio e o horário está errado. Você abre a URL do crontab no celular, toca na linha, muda dois campos, aperta Salvar. O PATCH passa. O job dispara hoje à noite no novo horário. Sem sessão SSH, sem jump box, sem laptop.

use-cases / edit-crontab-from-phone / mechanism

Um PATCH do celular, uma entrada no agendamento

O serviço de cron fala JSON sobre HTTPS. O navegador do celular envia um PATCH no UUID da entrada com o novo campo schedule. O crontab do sistema é re-injetado pelo serviço. O próximo disparo está no body da resposta.

patch.from-phone.sh
PATCH · enviador
# Edição de duas linhas numa tela de 6 polegadascurl -X PATCH \\"https://cron.containers.hoody.com/users/me/entries/0a3c8" \\-H "Content-Type: application/json" \\-d ["schedule":"30 4 * * 1-5"]# dia útil às 04:30 — horário local de Tóquio do destinatário
200 OK · cron.containers.hoody.com
GET · echo
HTTP/1.1 200 OK// a entrada volta com o novo schedule e o próximo disparo{"id": "0a3c8","schedule": "30 4 * * 1-5","next_run": "2026-05-05T04:30:00+09:00","enabled": true}

O PATCH só carrega o campo que mudou. O serviço o mescla na entrada existente, recomputa next_run e re-injeta a linha no crontab do sistema. Não há sessão SSH, sem jump host, sem laptop.

use-cases / edit-crontab-from-phone / moves

Três toques do anúncio até o portão

A edição inteira cabe entre a chamada de embarque e a fila prioritária. Abra a URL. Mude o campo. Caminhe até o avião.

ABRIR

Abra a URL do crontab

O serviço de cron tem sua própria URL — cron.containers.hoody.com/users/me/crontab. A mesma página abre em qualquer navegador, incluindo o do seu celular. A auth é a URL. Sem bastion, sem prompt do AnyConnect, sem ritual de chave-no-laptop.

EDITAR

Toque numa linha, mude um campo

Cada entrada gerenciada é um objeto JSON com schedule, command, comment, enabled. Você toca na linha, o campo schedule fica editável, você troca 0 7 * * * por 30 4 * * 1-5. Os outros campos não são tocados.

SALVAR

PATCH cai, caminhe ao portão

Salvar dispara um PATCH em /users/me/entries/[id]. A resposta diz 200 OK e devolve o novo next_run. O crontab do sistema é atualizado em menos de um segundo. Você fecha a aba e caminha.

use-cases / edit-crontab-from-phone / facts

As quatro rotas que um celular pode acessar

Hoody Cron expõe um pequeno CRUD sobre o crontab. Cada entrada gerenciada tem um UUID; cada entrada pode ser patched em isolamento. Abaixo estão os quatro endpoints que o celular usa para editar, mutar, listar ou deletar um job.

ENTRADAS GERENCIADAS · /users/me/entries
ISOLAMENTO POR USUÁRIO
  • GET/users/me/entriesLista entradas gerenciadas do usuário atual. Cada linha carrega id, schedule, command, comment, enabled, next_run.
  • PATCH/users/me/entries/[id]Atualização parcial. Envie só os campos que muda. Os campos schedule, command, comment, enabled e expires_at podem ser patched isoladamente.
  • POST/users/me/entriesCria uma nova entrada gerenciada a partir de JSON. Schedule padrão de 5 campos mais macros (@hourly, @daily, @weekly, @monthly, @yearly) são aceitos.
  • DELETE/users/me/entries/[id]Remove uma entrada. O serviço re-injeta o crontab do sistema sem ela. Útil quando a edição no aeroporto foi a correção errada e você quer o job fora por enquanto.

Endpoints pelo serviço Hoody Cron. Caminhos relativos a https://PROJECT-CONTAINER-cron-1.SERVER.containers.hoody.com.

use-cases / edit-crontab-from-phone / capacity

O que a edição pelo celular te dá

Os números que importam para uma pessoa em pé no portão com uma tela de 6 polegadas.

  1. CAMPOS PATCHÁVEIS5

    schedule, command, comment, enabled, expires_at. Cada um pode ser enviado sozinho. Os outros campos ficam intocados, então o comment que você escreveu às 9h de ontem sobrevive à edição no aeroporto.

  2. ROUND-TRIP

    Um PATCH do celular. Uma resposta 200 com o novo next_run. O crontab do sistema é re-injetado pelo serviço na mesma chamada — sem segunda requisição, sem polling.

  3. SESSÕES SHELL0

    Sem SSH, sem bastion, sem AnyConnect. O crontab é uma URL e a auth é a URL. A chave de hardware no seu laptop fica na mochila.

use-cases / edit-crontab-from-phone / punchline

Seu crontab é uma URL, então editá-lo é uma URL.

Quando o agendamento é alcançável a partir de um navegador, o lugar onde você está parado deixa de importar. O portão de embarque é um escritório fino. O celular é um terminal fino. O PATCH é a mudança.

ANTES · EDIÇÃO SÓ NO LAPTOPssh prod-bastion → sudo crontab -eabre laptop · VPN · jump host · vi
DEPOIS · UMA URLPATCH /users/me/entries/0a3c8toca linha · muda campo · caminha ao portão
  • sem SSH
  • sem laptop
  • próximo disparo é agora
Ler a Cron API
use-cases / edit-crontab-from-phone / replaces

O que isto substitui

A maioria desses só existe porque o crontab não era alcançável de um celular. Quando o agendamento é uma URL, os rituais para chegar até ele somem junto.

  • SSH a partir do laptopVinte minutos de fricção antes da primeira tecla valer
  • acesso ssh-bastionUm salto extra com credenciais e timeout próprios
  • "faço quando chegar em casa"Atraso de seis horas porque o laptop está em outro fuso
  • edições manuais de cron via PagerDutyAcordar o on-call para babá uma mudança de duas linhas
  • Chave de hardware + bastion + malabarismo de crontabTrês segredos e uma sessão vi para um campo
  • Slack o engenheiro sêniorAcordar outro humano para compartilhar a URL que você já tem
use-cases / edit-crontab-from-phone / cta

Você ficou em pé no portão e mudou quando o job dispara hoje à noite.

use-cases / edit-crontab-from-phone / related

Leia os outros