Ignitify.dev
Your first real task
Start

Your first real task

Take the hello task from the Quickstart. Change its code, send it input, read the result, and see an unchanged deploy reused.

1 · Edit run()

Open tasks/hello/index.ts. run(payload, ctx) gets the JSON you pass with --payload. Whatever it returns is the result.

tasks/hello/index.ts
export async function run(payload: { name?: string }, _ctx: unknown) {
  const name = payload.name ?? "world";
  console.log(`Hello, ${name}`);
  return { success: true, greeting: `Hello, ${name}` };
}

2 · Deploy the change

New code means a new build, so reused is false.

terminal
$ ignitify task:deploy hello⠹ Building image 019fdebc-2a40-7e11-95d3-1c4b7f08a6e5 · 9s  (Ctrl+C stops waiting, not the build)✓ Image built · 16s✓ Deployment CreatedKey            Value-------------  -----------------------------------------------------------------------deployment_id  019fdebc-2a40-7e11-95d3-1c4b7f08a6e5resource_id    dep_Wc5LpR8kYt3Nstatus         READYreused         falsetask_id        019fdebb-171e-7198-a812-a755d67e0aa2tenant_id      019f2b10-3c55-7a01-b2e4-9d0c61f7a8b3content_hash   sha256:ba793a91f402ef04c373a0c05a03da343e5de27370f745b56b3e5f571094957aSystem Resources:  • Image: built and stored by the platform; there is nothing for you to download.Monthly egress: 0 B of 100.0 GB used (0%), 100.0 GB leftMonthly compute: 42 s used, no monthly limitResets 2026-11-01T00:00:00.000Z · details: ignitify usageCommand template for next step: Next Step: ignitify task:run <task_id>Full command:                 ignitify task:run hello

3 · Run it with a payload

The payload is JSON. It applies to this run only; task.yaml is never changed.

terminal
$ ignitify task:run hello --payload '{"name":"Ada"}' --waitMonthly egress: 0 B of 100.0 GB used (0%), 100.0 GB leftMonthly compute: 42 s used, no monthly limitResets 2026-11-01T00:00:00.000Z · details: ignitify usage⠹ Run 019fdebc-5e13-7b02-9c2d-7f1a6b3e8c22 RUNNING · 2s  (Ctrl+C stops waiting, not the run)✓ Run COMPLETED · 3sRun Detailsid                     019fdebc-5e13-7b02-9c2d-7f1a6b3e8c22resource_id            run_Qm7TnX4vC9bDdeployment_id          019fdebc-2a40-7e11-95d3-1c4b7f08a6e5tenant_id              019f2b10-3c55-7a01-b2e4-9d0c61f7a8b3status                 COMPLETEDtask_name              hellopreset                 std.microtimeout_sec            120boot_fingerprint       3f9c1a2bstarted_at             2026-10-14T09:20:41.207Zattempt_count          1failure_attempt_count  0updated_at             2026-10-14T09:20:43.511Zcreated_at             2026-10-14T09:20:40.093ZResult:  {    "success": true,    "greeting": "Hello, Ada"  }

4 · Read the logs

Logs hold what the task printed. The result holds what it returned.

terminal
$ ignitify run:logs run_Qm7TnX4vC9bD[task] INFO: Task hello initialised[task] INFO: Hello, Ada

5 · Deploy again, unchanged

The same code gives the same deployment. Nothing is built, and the line says so.

terminal
$ ignitify task:deploy hello✓ Image already built — reused · 1s✓ Deployment CreatedKey            Value-------------  -----------------------------------------------------------------------deployment_id  019fdebc-2a40-7e11-95d3-1c4b7f08a6e5resource_id    dep_Wc5LpR8kYt3Nstatus         READYreused         truetask_id        019fdebb-171e-7198-a812-a755d67e0aa2tenant_id      019f2b10-3c55-7a01-b2e4-9d0c61f7a8b3content_hash   sha256:ba793a91f402ef04c373a0c05a03da343e5de27370f745b56b3e5f571094957aSystem Resources:  • Image: built and stored by the platform; there is nothing for you to download.Monthly egress: 0 B of 100.0 GB used (0%), 100.0 GB leftMonthly compute: 42 s used, no monthly limitResets 2026-11-01T00:00:00.000Z · details: ignitify usageCommand template for next step: Next Step: ignitify task:run <task_id>Full command:                 ignitify task:run hello

Size limits

A payload is at most 10 KiB and a result at most 10 KiB. For more data, write it to your own store from inside the task and return a link. See Presets and limits.