Home/TypeScript and Go
Ship the graph in your language. Idle cost stays at zero.
The graph is a function. deploy() registers it, and the platform runs each node with retries, fan-out, and a live log. When the run finishes, there is no worker process left to pay for.
- 01
Write it in TS or Go
node() and graph() in TypeScript. gi.Node and gi.Graph in Go. Same shape: a function, a name, a retry policy.
- 02
Call deploy()
That call pushes the code. The platform builds the environment and runs the graph when a run starts.
- 03
It runs, then it stops
A run scales out for the work in front of it. After the last task, compute goes back to zero.
Paste this graph
Both snippets fetch two URLs in parallel, cache the fetch for an hour, and retry the graph twice. The full files are sdk/typescript/examples/no_workers.ts and sdk/go/examples/no_workers.go.
import { node, graph, deploy } from "graphingest";
const fetchPage = node(
{ name: "fetch-page", cacheTtl: 3600, maxRetries: 3 },
async (url: string) => {
const resp = await fetch(url);
return { url, status: resp.status };
}
);
const pipeline = graph(
{
name: "web-scraper",
timeoutMs: 3_600_000,
retryPolicy: { maxRetries: 2, delayMs: 1_000, backoffFactor: 2 },
},
async (urls: string[]) => {
const pages = await fetchPage.map(urls);
return { fetched: pages.length };
}
);
await deploy();Run it
- TypeScript:
npm install graphingest, thennpx tsx sdk/typescript/examples/no_workers.ts. - Go:
go get github.com/graphingest/graphingest-go, thengo run sdk/go/examples/no_workers.go. - Set
GRAPHINGEST_API_KEYfrom Settings β API Keys. Afterdeploy(), the run is on the dashboard.
Other jobs
Vercel cron timeouts
The route returns in under a second. The pipeline runs for hours.
LangGraph fan-out
Parallel agents, with a cap on how many run at once.
Slack when a job fails
A message in the morning, with a link to the run.
GitHub Actions
GitHub starts the job. The mark updates when the work finishes.