PRIBADONG IMPRASTRAKTURA / WALANG ID NA KAILANGANBasahin ang doktrina ng privacy
Ang mga tala sa field ng KoalaVPS

Gawing serbisyo ang isang agent, hindi isang nakalimutang terminal.

Patakbuhin ang mga pangmatagalang worker na may tahasang state, limitadong pahintulot at plano sa pagbawi.

I-package ang worker

Gumamit ng suportadong runtime, pinned dependencies at service manager o container. I-configure ang restart limits at dedicated service user. Itago ang private provider credentials sa protektadong configuration sa labas ng public files ng application.

I-save ang progreso bago maging mahalaga ang mga aksyon

Gumamit ng matibay na queue o database para sa mga job. Magtalaga ng natatanging operation identifier, itala ang external requests at i-reconcile ang mga hindi tiyak na resulta. Hindi dapat magpadala ng pangalawang email, gumawa ng pangalawang order o mag-charge nang dalawang beses ang isang restart.

Magdagdag ng kapaki-pakinabang na observability

Subaybayan ang pagkumpleto ng trabaho, edad ng queue, error rate at gastos sa halip na tingnan lamang kung may prosesong umiiral. Panatilihing sapat na maliit ang mga log para masuri at i-redact ang mga token, prompt at dokumentong hindi kailangang itago.

Magtakda ng malinaw na hangganan

Limitahan ang model spending, browser concurrency, runtime at retry count. Panatilihin ang madaling pause switch at human review path para sa mahahalagang aksyon. Mas madaling pagkatiwalaan ang mas maliit at mahusay na naoobserbahang worker kaysa sa walang limitasyong isa.

Gumamit ng supervisor at sinadyang iskedyul

Ang Systemd at Docker ay mga karaniwang paraan para mabuhay ang isang proseso pagkatapos ng terminal disconnect. Para sa isang systemd service, ang Type=exec ay maaaring mag-ulat ng execution failure nang mas direkta kaysa sa simpleng background launch, at ang Restart=on-failure ay maaaring mag-restart ng mga failure gamit ang bounded na patakaran. Dapat iwasan ng mga naka-iskedyul na job ang magkakapatong na pagtakbo. Panatilihing tahasan ang working directory, service user at environment. Ipinapalagay ng halimbawa na mayroon nang koala-agent user, virtual environment, worker module at pribadong environment file; iakma ang mga ito bago mag-install ng unit.

  • Gumamit ng dedicated service account
  • Magtakda ng restart delay at failure ceiling
  • Suriin ang nakaraang job state bago simulan ang naka-iskedyul na run
[Unit]
Description=Example agent worker
After=network-online.target

[Service]
Type=exec
User=koala-agent
WorkingDirectory=/opt/koala-agent
EnvironmentFile=/etc/koala-agent.env
ExecStart=/opt/koala-agent/.venv/bin/python -m worker
Restart=on-failure
RestartSec=10
NoNewPrivileges=true

[Install]
WantedBy=multi-user.target

Magtakda ng daily budget at duplicate boundary

Bigyan ang worker ng maximum na bilang ng kahilingan, limitasyon sa gastos at timeout sa pagpapatupad. Gumamit ng matibay na idempotency record para sa mga aksyong nakakaapekto sa labas ng mundo. Maaaring mangyari ang matagumpay na pag-click sa browser bago makatanggap ng tugon ang proseso; suriin ang panlabas na estado bago subukan muli. Ang mga secret mount ng Docker Compose ay maaaring magpanatili ng sikreto sa labas ng image, ngunit kailangan pa ring suriin ang mga pahintulot at ang gumagamit na aplikasyon.

Bigyan ang isang periodic na job ng tahasang catch-up policy

Gumamit ng long-running service para sa persistent queue worker at timer-triggered oneshot service para sa bounded scheduled task. Sa systemd calendar timer, ang Persistent=true ay maaaring mag-trigger ng isang napalampas na activation pagkatapos ng downtime; hindi nito muling nililikha ang buong business backlog. Magpasya kung kanais-nais ang catch-up na iyon. Maaaring ipamahagi ng RandomizedDelaySec ang mga pagsisimula, habang pinipigilan ng application-level lease ang dalawang replica na magproseso ng parehong naka-iskedyul na gawain.

  • Itala ang nilalayong timezone at suriin ang susunod na run times bago i-enable ang schedule.
  • Panatilihing mas maikli ang execution deadline ng task kaysa sa interval na hindi dapat mag-overlap, o gumamit ng durable lease na may expiry at ownership.
  • Piliin ng trabaho ang natitirang gawain mula sa naka-store na estado sa halip na ipagpalagay na tumakbo ang bawat nakaraang timer event.
  • Suriin ang naka-install na systemd version bago gumamit ng directive mula sa pinakabagong manwal.
# Read-only checks after creating your own matching units.
systemctl list-timers --all
systemctl status koala-agent.service
journalctl -u koala-agent.service --since today --no-pager

Ibahin ang crash loop sa isang naka-stall na worker

Maaaring ma-recover ng restart policy ang nabigong process, pero ang paulit-ulit na invalid credential o sirang migration kada ilang segundo ay nagpapalaki ng ingay ng fault. Boundahan ang service starts at mag-alert sa paulit-ulit na failure. Maaari ring ma-stuck ang live process: sukatin ang edad ng pinakamatandang job at ang huling natapos na operasyon. Subukan ang API outage, walang laman na disk at process stop gamit ang disposable jobs, pagkatapos ay i-verify na pinipigilan ng durable state ang doble-dobleng external action.

  • Magtakda ng provider budget at request timeout sa application gayundin ng CPU/memory boundary sa runtime.
  • Walang kapaki-pakinabang na workload-specific memory limit ang Docker containers dahil lang container sila; i-configure at subukan ang limits nang sadya.
  • Mag-imbak ng secret sa labas ng image at public tree, pagkatapos ay subukan na i-redact ito ng crash logs at diagnostics.
  • Panatilihin ang manual na paraan ng paghinto at mangailangan ng naaangkop na pagsusuri para sa paggastos, production writes o panlabas na mensahe.
I-CONFIGURE ANG IYONG INFRASTRUCTURE

Kunin ang kontrol.
I-deploy sa iyong mga tuntunin.

Walang papeles ng pagkakakilanlan. Buong access ng administrator. Crypto-native na billing.