[{"data":1,"prerenderedAt":1291},["ShallowReactive",2],{"navigation":3,"-docs-tasks":224,"-docs-tasks-surround":1286},[4,83,208,214,221],{"title":5,"path":6,"stem":7,"children":8,"icon":82},"","/docs","1.docs/1.index",[9,12,17,22,27,32,37,42,47,52,57,62,67,72,77],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-compass",{"title":13,"path":14,"stem":15,"icon":16},"Quick Start","/docs/quick-start","1.docs/2.quick-start","i-lucide-zap",{"title":18,"path":19,"stem":20,"icon":21},"Renderer","/docs/renderer","1.docs/4.renderer","ri:layout-masonry-line",{"title":23,"path":24,"stem":25,"icon":26},"Routing","/docs/routing","1.docs/5.routing","ri:direction-line",{"title":28,"path":29,"stem":30,"icon":31},"Assets","/docs/assets","1.docs/50.assets","ri:image-2-line",{"title":33,"path":34,"stem":35,"icon":36},"Configuration","/docs/configuration","1.docs/50.configuration","ri:settings-3-line",{"title":38,"path":39,"stem":40,"icon":41},"Database","/docs/database","1.docs/50.database","ri:database-2-line",{"title":43,"path":44,"stem":45,"icon":46},"Lifecycle","/docs/lifecycle","1.docs/50.lifecycle","i-lucide-layers",{"title":48,"path":49,"stem":50,"icon":51},"Plugins","/docs/plugins","1.docs/50.plugins","ri:plug-line",{"title":53,"path":54,"stem":55,"icon":56},"Tasks","/docs/tasks","1.docs/50.tasks","codicon:run-all",{"title":58,"path":59,"stem":60,"icon":61},"Server Entry","/docs/server-entry","1.docs/6.server-entry","ri:server-line",{"title":63,"path":64,"stem":65,"icon":66},"Cache","/docs/cache","1.docs/7.cache","ri:speed-line",{"title":68,"path":69,"stem":70,"icon":71},"KV Storage","/docs/storage","1.docs/8.storage","carbon:datastore",{"title":73,"path":74,"stem":75,"icon":76},"Migration Guide","/docs/migration","1.docs/99.migration","ri:arrow-right-up-line",{"title":78,"path":79,"stem":80,"icon":81},"Nightly Channel","/docs/nightly","1.docs/99.nightly","ri:moon-fill","i-lucide-book-open",{"title":84,"path":85,"stem":86,"children":87,"icon":89},"Deploy","/deploy","2.deploy/0.index",[88,90,111],{"title":84,"path":85,"stem":86,"icon":89},"ri:upload-cloud-2-line",{"title":91,"path":92,"stem":93,"children":94,"page":110},"Runtimes","/deploy/runtimes","2.deploy/10.runtimes",[95,100,105],{"title":96,"path":97,"stem":98,"icon":99},"Node.js","/deploy/runtimes/node","2.deploy/10.runtimes/1.node","akar-icons:node-fill",{"title":101,"path":102,"stem":103,"icon":104},"Bun","/deploy/runtimes/bun","2.deploy/10.runtimes/bun","simple-icons:bun",{"title":106,"path":107,"stem":108,"icon":109},"Deno","/deploy/runtimes/deno","2.deploy/10.runtimes/deno","simple-icons:deno",false,{"title":112,"path":113,"stem":114,"children":115,"page":110},"Providers","/deploy/providers","2.deploy/20.providers",[116,120,124,128,132,136,140,144,148,152,156,160,164,168,172,176,180,184,188,192,196,200,204],{"title":117,"path":118,"stem":119},"Alwaysdata","/deploy/providers/alwaysdata","2.deploy/20.providers/alwaysdata",{"title":121,"path":122,"stem":123},"AWS Lambda","/deploy/providers/aws","2.deploy/20.providers/aws",{"title":125,"path":126,"stem":127},"AWS Amplify","/deploy/providers/aws-amplify","2.deploy/20.providers/aws-amplify",{"title":129,"path":130,"stem":131},"Azure","/deploy/providers/azure","2.deploy/20.providers/azure",{"title":133,"path":134,"stem":135},"Cleavr","/deploy/providers/cleavr","2.deploy/20.providers/cleavr",{"title":137,"path":138,"stem":139},"Cloudflare","/deploy/providers/cloudflare","2.deploy/20.providers/cloudflare",{"title":141,"path":142,"stem":143},"Deno Deploy","/deploy/providers/deno-deploy","2.deploy/20.providers/deno-deploy",{"title":145,"path":146,"stem":147},"DigitalOcean","/deploy/providers/digitalocean","2.deploy/20.providers/digitalocean",{"title":149,"path":150,"stem":151},"Firebase","/deploy/providers/firebase","2.deploy/20.providers/firebase",{"title":153,"path":154,"stem":155},"Flightcontrol","/deploy/providers/flightcontrol","2.deploy/20.providers/flightcontrol",{"title":157,"path":158,"stem":159},"Genezio","/deploy/providers/genezio","2.deploy/20.providers/genezio",{"title":161,"path":162,"stem":163},"GitHub Pages","/deploy/providers/github-pages","2.deploy/20.providers/github-pages",{"title":165,"path":166,"stem":167},"GitLab Pages","/deploy/providers/gitlab-pages","2.deploy/20.providers/gitlab-pages",{"title":169,"path":170,"stem":171},"Heroku","/deploy/providers/heroku","2.deploy/20.providers/heroku",{"title":173,"path":174,"stem":175},"IIS","/deploy/providers/iis","2.deploy/20.providers/iis",{"title":177,"path":178,"stem":179},"Koyeb","/deploy/providers/koyeb","2.deploy/20.providers/koyeb",{"title":181,"path":182,"stem":183},"Netlify","/deploy/providers/netlify","2.deploy/20.providers/netlify",{"title":185,"path":186,"stem":187},"Platform.sh","/deploy/providers/platform-sh","2.deploy/20.providers/platform-sh",{"title":189,"path":190,"stem":191},"Render.com","/deploy/providers/render","2.deploy/20.providers/render",{"title":193,"path":194,"stem":195},"StormKit","/deploy/providers/stormkit","2.deploy/20.providers/stormkit",{"title":197,"path":198,"stem":199},"Vercel","/deploy/providers/vercel","2.deploy/20.providers/vercel",{"title":201,"path":202,"stem":203},"Zeabur","/deploy/providers/zeabur","2.deploy/20.providers/zeabur",{"title":205,"path":206,"stem":207},"Zerops","/deploy/providers/zerops","2.deploy/20.providers/zerops",{"title":209,"path":210,"stem":211,"children":212,"icon":36},"Config","/config","3.config/0.index",[213],{"title":209,"path":210,"stem":211,"icon":36},{"title":215,"path":216,"stem":217,"children":218,"icon":220},"Examples","/examples","4.examples/0.index",[219],{"title":215,"path":216,"stem":217,"icon":220},"i-lucide-folder-code",{"title":5,"path":222,"stem":223},"/","index",{"id":225,"title":53,"body":226,"description":1280,"extension":1281,"meta":1282,"navigation":1283,"path":54,"seo":1284,"stem":55,"__hash__":1285},"content/1.docs/50.tasks.md",{"type":227,"value":228,"toc":1265,"icon":56},"minimark",[229,236,241,255,258,342,346,353,368,374,485,489,492,556,568,573,633,637,644,648,755,759,762,766,773,776,914,920,927,1173,1179,1183,1192,1196,1214,1218,1241,1245,1249,1256,1261],[230,231,232],"warning",{},[233,234,235],"p",{},"Nitro v3 Alpha docs are a work in progress — expect updates, rough edges, and occasional inaccuracies.",[237,238,240],"h2",{"id":239},"opt-in-to-the-experimental-feature","Opt-in to the experimental feature",[242,243,244],"important",{},[233,245,246,247,254],{},"\nTasks support is currently experimental.\nSee ",[248,249,253],"a",{"href":250,"rel":251},"https://github.com/nitrojs/nitro/issues/1974",[252],"nofollow","nitrojs/nitro#1974"," for the relevant discussion.",[233,256,257],{},"In order to use the tasks API you need to enable experimental feature flag.",[259,260,265],"pre",{"className":261,"code":262,"filename":263,"language":264,"meta":5,"style":5},"language-ts shiki shiki-themes github-light github-dark github-dark","import { defineNitroConfig } from \"nitro/config\";\n\nexport default defineNitroConfig({\n  experimental: {\n    tasks: true\n  }\n})\n","nitro.config.ts","ts",[266,267,268,291,298,314,320,330,336],"code",{"__ignoreMap":5},[269,270,273,277,281,284,288],"span",{"class":271,"line":272},"line",1,[269,274,276],{"class":275},"so5gQ","import",[269,278,280],{"class":279},"slsVL"," { defineNitroConfig } ",[269,282,283],{"class":275},"from",[269,285,287],{"class":286},"sfrk1"," \"nitro/config\"",[269,289,290],{"class":279},";\n",[269,292,294],{"class":271,"line":293},2,[269,295,297],{"emptyLinePlaceholder":296},true,"\n",[269,299,301,304,307,311],{"class":271,"line":300},3,[269,302,303],{"class":275},"export",[269,305,306],{"class":275}," default",[269,308,310],{"class":309},"shcOC"," defineNitroConfig",[269,312,313],{"class":279},"({\n",[269,315,317],{"class":271,"line":316},4,[269,318,319],{"class":279},"  experimental: {\n",[269,321,323,326],{"class":271,"line":322},5,[269,324,325],{"class":279},"    tasks: ",[269,327,329],{"class":328},"suiK_","true\n",[269,331,333],{"class":271,"line":332},6,[269,334,335],{"class":279},"  }\n",[269,337,339],{"class":271,"line":338},7,[269,340,341],{"class":279},"})\n",[237,343,345],{"id":344},"define-tasks","Define tasks",[233,347,348,349,352],{},"Tasks can be defined in ",[266,350,351],{},"tasks/[name].ts"," files.",[233,354,355,356,359,360,363,364,367],{},"Nested directories are supported. The task name will be joined with ",[266,357,358],{},":",". (Example: ",[266,361,362],{},"tasks/db/migrate.ts","task name will be ",[266,365,366],{},"db:migrate",")",[233,369,370],{},[371,372,373],"strong",{},"Example:",[259,375,377],{"className":261,"code":376,"filename":362,"language":264,"meta":5,"style":5},"export default defineTask({\n  meta: {\n    name: \"db:migrate\",\n    description: \"Run database migrations\",\n  },\n  run({ payload, context }) {\n    console.log(\"Running DB migration task...\");\n    return { result: \"Success\" };\n  },\n});\n",[266,378,379,390,395,406,416,421,442,459,474,479],{"__ignoreMap":5},[269,380,381,383,385,388],{"class":271,"line":272},[269,382,303],{"class":275},[269,384,306],{"class":275},[269,386,387],{"class":309}," defineTask",[269,389,313],{"class":279},[269,391,392],{"class":271,"line":293},[269,393,394],{"class":279},"  meta: {\n",[269,396,397,400,403],{"class":271,"line":300},[269,398,399],{"class":279},"    name: ",[269,401,402],{"class":286},"\"db:migrate\"",[269,404,405],{"class":279},",\n",[269,407,408,411,414],{"class":271,"line":316},[269,409,410],{"class":279},"    description: ",[269,412,413],{"class":286},"\"Run database migrations\"",[269,415,405],{"class":279},[269,417,418],{"class":271,"line":322},[269,419,420],{"class":279},"  },\n",[269,422,423,426,429,433,436,439],{"class":271,"line":332},[269,424,425],{"class":309},"  run",[269,427,428],{"class":279},"({ ",[269,430,432],{"class":431},"sQHwn","payload",[269,434,435],{"class":279},", ",[269,437,438],{"class":431},"context",[269,440,441],{"class":279}," }) {\n",[269,443,444,447,450,453,456],{"class":271,"line":338},[269,445,446],{"class":279},"    console.",[269,448,449],{"class":309},"log",[269,451,452],{"class":279},"(",[269,454,455],{"class":286},"\"Running DB migration task...\"",[269,457,458],{"class":279},");\n",[269,460,462,465,468,471],{"class":271,"line":461},8,[269,463,464],{"class":275},"    return",[269,466,467],{"class":279}," { result: ",[269,469,470],{"class":286},"\"Success\"",[269,472,473],{"class":279}," };\n",[269,475,477],{"class":271,"line":476},9,[269,478,420],{"class":279},[269,480,482],{"class":271,"line":481},10,[269,483,484],{"class":279},"});\n",[237,486,488],{"id":487},"scheduled-tasks","Scheduled tasks",[233,490,491],{},"You can define scheduled tasks using Nitro configuration to automatically run after each period of time.",[259,493,495],{"className":261,"code":494,"filename":263,"language":264,"meta":5,"style":5},"import { defineNitroConfig } from \"nitro/config\";\n\nexport default defineNitroConfig({\n  scheduledTasks: {\n    // Run `cms:update` task every minute\n    '* * * * *': ['cms:update']\n  }\n})\n",[266,496,497,509,513,523,528,534,548,552],{"__ignoreMap":5},[269,498,499,501,503,505,507],{"class":271,"line":272},[269,500,276],{"class":275},[269,502,280],{"class":279},[269,504,283],{"class":275},[269,506,287],{"class":286},[269,508,290],{"class":279},[269,510,511],{"class":271,"line":293},[269,512,297],{"emptyLinePlaceholder":296},[269,514,515,517,519,521],{"class":271,"line":300},[269,516,303],{"class":275},[269,518,306],{"class":275},[269,520,310],{"class":309},[269,522,313],{"class":279},[269,524,525],{"class":271,"line":316},[269,526,527],{"class":279},"  scheduledTasks: {\n",[269,529,530],{"class":271,"line":322},[269,531,533],{"class":532},"sCsY4","    // Run `cms:update` task every minute\n",[269,535,536,539,542,545],{"class":271,"line":332},[269,537,538],{"class":286},"    '* * * * *'",[269,540,541],{"class":279},": [",[269,543,544],{"class":286},"'cms:update'",[269,546,547],{"class":279},"]\n",[269,549,550],{"class":271,"line":338},[269,551,335],{"class":279},[269,553,554],{"class":271,"line":461},[269,555,341],{"class":279},[557,558,559],"tip",{},[233,560,561,562,567],{},"\nYou can use ",[248,563,566],{"href":564,"rel":565},"https://crontab.guru/",[252],"crontab.guru"," to easily generate and understand cron tab patterns.",[569,570,572],"h3",{"id":571},"platform-support","Platform support",[574,575,576,599,615,630],"ul",{},[577,578,579,435,582,435,585,588,589,592,593,598],"li",{},[266,580,581],{},"dev",[266,583,584],{},"node-server",[266,586,587],{},"bun"," and ",[266,590,591],{},"deno-server"," presets are supported with ",[248,594,597],{"href":595,"rel":596},"https://croner.56k.guru/",[252],"croner"," engine.",[577,600,601,604,605,610,611,614],{},[266,602,603],{},"cloudflare_module"," preset has native integration with ",[248,606,609],{"href":607,"rel":608},"https://developers.cloudflare.com/workers/configuration/cron-triggers/",[252],"Cron Triggers",". Make sure to configure wrangler to use the same patterns you define in ",[266,612,613],{},"scheduledTasks"," to be matched.",[577,616,617,604,620,625,626,629],{},[266,618,619],{},"vercel",[248,621,624],{"href":622,"rel":623},"https://vercel.com/docs/cron-jobs",[252],"Vercel Cron Jobs",". Nitro automatically generates the cron job configuration at build time — no manual ",[266,627,628],{},"vercel.json"," setup required.",[577,631,632],{},"More presets (with native primitives support) are planned to be supported!",[237,634,636],{"id":635},"programmatically-run-tasks","Programmatically run tasks",[233,638,639,640,643],{},"To manually run tasks, you can use ",[266,641,642],{},"runTask(name, { payload? })"," utility.",[233,645,646],{},[371,647,373],{},[259,649,652],{"className":261,"code":650,"filename":651,"language":264,"meta":5,"style":5},"export default eventHandler(async (event) => {\n  // IMPORTANT: Authenticate user and validate payload!\n  const payload = { ...getQuery(event) };\n  const { result } = await runTask(\"db:migrate\", { payload });\n\n  return { result };\n});\n","api/migrate.ts",[266,653,654,683,688,711,739,743,751],{"__ignoreMap":5},[269,655,656,658,660,663,665,668,671,674,677,680],{"class":271,"line":272},[269,657,303],{"class":275},[269,659,306],{"class":275},[269,661,662],{"class":309}," eventHandler",[269,664,452],{"class":279},[269,666,667],{"class":275},"async",[269,669,670],{"class":279}," (",[269,672,673],{"class":431},"event",[269,675,676],{"class":279},") ",[269,678,679],{"class":275},"=>",[269,681,682],{"class":279}," {\n",[269,684,685],{"class":271,"line":293},[269,686,687],{"class":532},"  // IMPORTANT: Authenticate user and validate payload!\n",[269,689,690,693,696,699,702,705,708],{"class":271,"line":300},[269,691,692],{"class":275},"  const",[269,694,695],{"class":328}," payload",[269,697,698],{"class":275}," =",[269,700,701],{"class":279}," { ",[269,703,704],{"class":275},"...",[269,706,707],{"class":309},"getQuery",[269,709,710],{"class":279},"(event) };\n",[269,712,713,715,717,720,723,726,729,732,734,736],{"class":271,"line":316},[269,714,692],{"class":275},[269,716,701],{"class":279},[269,718,719],{"class":328},"result",[269,721,722],{"class":279}," } ",[269,724,725],{"class":275},"=",[269,727,728],{"class":275}," await",[269,730,731],{"class":309}," runTask",[269,733,452],{"class":279},[269,735,402],{"class":286},[269,737,738],{"class":279},", { payload });\n",[269,740,741],{"class":271,"line":322},[269,742,297],{"emptyLinePlaceholder":296},[269,744,745,748],{"class":271,"line":332},[269,746,747],{"class":275},"  return",[269,749,750],{"class":279}," { result };\n",[269,752,753],{"class":271,"line":338},[269,754,484],{"class":279},[237,756,758],{"id":757},"run-tasks-with-dev-server","Run tasks with dev server",[233,760,761],{},"Nitro's built-in dev server exposes tasks to be easily executed without programmatic usage.",[569,763,765],{"id":764},"using-api-routes","Using API routes",[767,768,770],"h4",{"id":769},"_nitrotasks",[266,771,772],{},"/_nitro/tasks",[233,774,775],{},"This endpoint returns a list of available task names and their meta.",[259,777,781],{"className":778,"code":779,"language":780,"meta":5,"style":5},"language-json shiki shiki-themes github-light github-dark github-dark","// [GET] /_nitro/tasks\n{\n  \"tasks\": {\n    \"db:migrate\": {\n      \"description\": \"Run database migrations\"\n    },\n     \"cms:update\": {\n      \"description\": \"Update CMS content\"\n    }\n  },\n  \"scheduledTasks\": [\n    {\n      \"cron\": \"* * * * *\",\n      \"tasks\": [\n        \"cms:update\"\n      ]\n    }\n  ]\n}\n","json",[266,782,783,788,793,801,808,819,824,831,840,845,849,858,864,877,885,891,897,902,908],{"__ignoreMap":5},[269,784,785],{"class":271,"line":272},[269,786,787],{"class":532},"// [GET] /_nitro/tasks\n",[269,789,790],{"class":271,"line":293},[269,791,792],{"class":279},"{\n",[269,794,795,798],{"class":271,"line":300},[269,796,797],{"class":328},"  \"tasks\"",[269,799,800],{"class":279},": {\n",[269,802,803,806],{"class":271,"line":316},[269,804,805],{"class":328},"    \"db:migrate\"",[269,807,800],{"class":279},[269,809,810,813,816],{"class":271,"line":322},[269,811,812],{"class":328},"      \"description\"",[269,814,815],{"class":279},": ",[269,817,818],{"class":286},"\"Run database migrations\"\n",[269,820,821],{"class":271,"line":332},[269,822,823],{"class":279},"    },\n",[269,825,826,829],{"class":271,"line":338},[269,827,828],{"class":328},"     \"cms:update\"",[269,830,800],{"class":279},[269,832,833,835,837],{"class":271,"line":461},[269,834,812],{"class":328},[269,836,815],{"class":279},[269,838,839],{"class":286},"\"Update CMS content\"\n",[269,841,842],{"class":271,"line":476},[269,843,844],{"class":279},"    }\n",[269,846,847],{"class":271,"line":481},[269,848,420],{"class":279},[269,850,852,855],{"class":271,"line":851},11,[269,853,854],{"class":328},"  \"scheduledTasks\"",[269,856,857],{"class":279},": [\n",[269,859,861],{"class":271,"line":860},12,[269,862,863],{"class":279},"    {\n",[269,865,867,870,872,875],{"class":271,"line":866},13,[269,868,869],{"class":328},"      \"cron\"",[269,871,815],{"class":279},[269,873,874],{"class":286},"\"* * * * *\"",[269,876,405],{"class":279},[269,878,880,883],{"class":271,"line":879},14,[269,881,882],{"class":328},"      \"tasks\"",[269,884,857],{"class":279},[269,886,888],{"class":271,"line":887},15,[269,889,890],{"class":286},"        \"cms:update\"\n",[269,892,894],{"class":271,"line":893},16,[269,895,896],{"class":279},"      ]\n",[269,898,900],{"class":271,"line":899},17,[269,901,844],{"class":279},[269,903,905],{"class":271,"line":904},18,[269,906,907],{"class":279},"  ]\n",[269,909,911],{"class":271,"line":910},19,[269,912,913],{"class":279},"}\n",[767,915,917],{"id":916},"_nitrotasksname",[266,918,919],{},"/_nitro/tasks/:name",[233,921,922,923,926],{},"This endpoint executes a task. You can provide a payload using both query parameters and body JSON payload. The payload sent in the JSON body payload must be under the ",[266,924,925],{},"\"payload\""," property.",[928,929,930,1014,1062],"code-group",{},[259,931,934],{"className":261,"code":932,"filename":933,"language":264,"meta":5,"style":5},"export default defineTask({\n  meta: {\n    name: \"echo:payload\",\n    description: \"Returns the provided payload\",\n  },\n  run({ payload, context }) {\n    console.log(\"Running echo task...\");\n    return { result: payload };\n  },\n});\n","tasks/echo/payload.ts",[266,935,936,946,950,959,968,972,986,999,1006,1010],{"__ignoreMap":5},[269,937,938,940,942,944],{"class":271,"line":272},[269,939,303],{"class":275},[269,941,306],{"class":275},[269,943,387],{"class":309},[269,945,313],{"class":279},[269,947,948],{"class":271,"line":293},[269,949,394],{"class":279},[269,951,952,954,957],{"class":271,"line":300},[269,953,399],{"class":279},[269,955,956],{"class":286},"\"echo:payload\"",[269,958,405],{"class":279},[269,960,961,963,966],{"class":271,"line":316},[269,962,410],{"class":279},[269,964,965],{"class":286},"\"Returns the provided payload\"",[269,967,405],{"class":279},[269,969,970],{"class":271,"line":322},[269,971,420],{"class":279},[269,973,974,976,978,980,982,984],{"class":271,"line":332},[269,975,425],{"class":309},[269,977,428],{"class":279},[269,979,432],{"class":431},[269,981,435],{"class":279},[269,983,438],{"class":431},[269,985,441],{"class":279},[269,987,988,990,992,994,997],{"class":271,"line":338},[269,989,446],{"class":279},[269,991,449],{"class":309},[269,993,452],{"class":279},[269,995,996],{"class":286},"\"Running echo task...\"",[269,998,458],{"class":279},[269,1000,1001,1003],{"class":271,"line":461},[269,1002,464],{"class":275},[269,1004,1005],{"class":279}," { result: payload };\n",[269,1007,1008],{"class":271,"line":476},[269,1009,420],{"class":279},[269,1011,1012],{"class":271,"line":481},[269,1013,484],{"class":279},[259,1015,1018],{"className":778,"code":1016,"filename":1017,"language":780,"meta":5,"style":5},"// [GET] /_nitro/tasks/echo:payload?field=value&array=1&array=2\n{\n  \"field\": \"value\",\n  \"array\": [\"1\", \"2\"]\n}\n","GET",[266,1019,1020,1025,1029,1041,1058],{"__ignoreMap":5},[269,1021,1022],{"class":271,"line":272},[269,1023,1024],{"class":532},"// [GET] /_nitro/tasks/echo:payload?field=value&array=1&array=2\n",[269,1026,1027],{"class":271,"line":293},[269,1028,792],{"class":279},[269,1030,1031,1034,1036,1039],{"class":271,"line":300},[269,1032,1033],{"class":328},"  \"field\"",[269,1035,815],{"class":279},[269,1037,1038],{"class":286},"\"value\"",[269,1040,405],{"class":279},[269,1042,1043,1046,1048,1051,1053,1056],{"class":271,"line":316},[269,1044,1045],{"class":328},"  \"array\"",[269,1047,541],{"class":279},[269,1049,1050],{"class":286},"\"1\"",[269,1052,435],{"class":279},[269,1054,1055],{"class":286},"\"2\"",[269,1057,547],{"class":279},[269,1059,1060],{"class":271,"line":322},[269,1061,913],{"class":279},[259,1063,1066],{"className":778,"code":1064,"filename":1065,"language":780,"meta":5,"style":5},"/**\n * [POST] /_nitro/tasks/echo:payload?field=value\n * body: {\n *   \"payload\": {\n *     \"answer\": 42,\n *     \"nested\": {\n *       \"value\": true\n *     }\n *   }\n * }\n */\n{\n  \"field\": \"value\",\n  \"answer\": 42,\n  \"nested\": {\n    \"value\": true\n  }\n}\n","POST",[266,1067,1068,1073,1078,1083,1088,1093,1098,1103,1108,1113,1118,1123,1127,1137,1149,1156,1165,1169],{"__ignoreMap":5},[269,1069,1070],{"class":271,"line":272},[269,1071,1072],{"class":532},"/**\n",[269,1074,1075],{"class":271,"line":293},[269,1076,1077],{"class":532}," * [POST] /_nitro/tasks/echo:payload?field=value\n",[269,1079,1080],{"class":271,"line":300},[269,1081,1082],{"class":532}," * body: {\n",[269,1084,1085],{"class":271,"line":316},[269,1086,1087],{"class":532}," *   \"payload\": {\n",[269,1089,1090],{"class":271,"line":322},[269,1091,1092],{"class":532}," *     \"answer\": 42,\n",[269,1094,1095],{"class":271,"line":332},[269,1096,1097],{"class":532}," *     \"nested\": {\n",[269,1099,1100],{"class":271,"line":338},[269,1101,1102],{"class":532}," *       \"value\": true\n",[269,1104,1105],{"class":271,"line":461},[269,1106,1107],{"class":532}," *     }\n",[269,1109,1110],{"class":271,"line":476},[269,1111,1112],{"class":532}," *   }\n",[269,1114,1115],{"class":271,"line":481},[269,1116,1117],{"class":532}," * }\n",[269,1119,1120],{"class":271,"line":851},[269,1121,1122],{"class":532}," */\n",[269,1124,1125],{"class":271,"line":860},[269,1126,792],{"class":279},[269,1128,1129,1131,1133,1135],{"class":271,"line":866},[269,1130,1033],{"class":328},[269,1132,815],{"class":279},[269,1134,1038],{"class":286},[269,1136,405],{"class":279},[269,1138,1139,1142,1144,1147],{"class":271,"line":879},[269,1140,1141],{"class":328},"  \"answer\"",[269,1143,815],{"class":279},[269,1145,1146],{"class":328},"42",[269,1148,405],{"class":279},[269,1150,1151,1154],{"class":271,"line":887},[269,1152,1153],{"class":328},"  \"nested\"",[269,1155,800],{"class":279},[269,1157,1158,1161,1163],{"class":271,"line":893},[269,1159,1160],{"class":328},"    \"value\"",[269,1162,815],{"class":279},[269,1164,329],{"class":328},[269,1166,1167],{"class":271,"line":899},[269,1168,335],{"class":279},[269,1170,1171],{"class":271,"line":904},[269,1172,913],{"class":279},[1174,1175,1176],"note",{},[233,1177,1178],{},"\nThe JSON payload included in the body will overwrite the keys present in the query params.",[569,1180,1182],{"id":1181},"using-cli","Using CLI",[242,1184,1185],{},[233,1186,1187,1188,1191],{},"\nIt is only possible to run these commands while the ",[371,1189,1190],{},"dev server is running",". You should run them in a second terminal.",[767,1193,1195],{"id":1194},"list-tasks","List tasks",[259,1197,1201],{"className":1198,"code":1199,"language":1200,"meta":5,"style":5},"language-sh shiki shiki-themes github-light github-dark github-dark","nitro task list\n","sh",[266,1202,1203],{"__ignoreMap":5},[269,1204,1205,1208,1211],{"class":271,"line":272},[269,1206,1207],{"class":309},"nitro",[269,1209,1210],{"class":286}," task",[269,1212,1213],{"class":286}," list\n",[767,1215,1217],{"id":1216},"run-a-task","Run a task",[259,1219,1221],{"className":1198,"code":1220,"language":1200,"meta":5,"style":5},"nitro task run db:migrate --payload \"{}\"\n",[266,1222,1223],{"__ignoreMap":5},[269,1224,1225,1227,1229,1232,1235,1238],{"class":271,"line":272},[269,1226,1207],{"class":309},[269,1228,1210],{"class":286},[269,1230,1231],{"class":286}," run",[269,1233,1234],{"class":286}," db:migrate",[269,1236,1237],{"class":328}," --payload",[269,1239,1240],{"class":286}," \"{}\"\n",[237,1242,1244],{"id":1243},"notes","Notes",[569,1246,1248],{"id":1247},"concurrency","Concurrency",[233,1250,1251,1252,1255],{},"Each task can have ",[371,1253,1254],{},"one running instance",". Calling a task of same name multiple times in parallel, results in calling it once and all callers will get the same return value.",[1174,1257,1258],{},[233,1259,1260],{},"\nNitro tasks can be running multiple times and in parallel.",[1262,1263,1264],"style",{},"html pre.shiki code .so5gQ, html code.shiki .so5gQ{--shiki-light:#D73A49;--shiki-default:#F97583;--shiki-dark:#F97583}html pre.shiki code .slsVL, html code.shiki .slsVL{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#E1E4E8}html pre.shiki code .sfrk1, html code.shiki .sfrk1{--shiki-light:#032F62;--shiki-default:#9ECBFF;--shiki-dark:#9ECBFF}html pre.shiki code .shcOC, html code.shiki .shcOC{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#B392F0}html pre.shiki code .suiK_, html code.shiki .suiK_{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#79B8FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sQHwn, html code.shiki .sQHwn{--shiki-light:#E36209;--shiki-default:#FFAB70;--shiki-dark:#FFAB70}html pre.shiki code .sCsY4, html code.shiki .sCsY4{--shiki-light:#6A737D;--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":5,"searchDepth":293,"depth":293,"links":1266},[1267,1268,1269,1272,1273,1277],{"id":239,"depth":293,"text":240},{"id":344,"depth":293,"text":345},{"id":487,"depth":293,"text":488,"children":1270},[1271],{"id":571,"depth":300,"text":572},{"id":635,"depth":293,"text":636},{"id":757,"depth":293,"text":758,"children":1274},[1275,1276],{"id":764,"depth":300,"text":765},{"id":1181,"depth":300,"text":1182},{"id":1243,"depth":293,"text":1244,"children":1278},[1279],{"id":1247,"depth":300,"text":1248},"Nitro tasks allow on-off operations in runtime.","md",{"icon":56},{"icon":56},{"title":53,"description":1280},"C6XsrBG7zU5pHPOXhwuZsoWaBdLPbfqS4G-RwffslqU",[1287,1289],{"title":48,"path":49,"stem":50,"description":1288,"icon":51,"children":-1},"Use plugins to extend Nitro's runtime behavior.",{"title":58,"path":59,"stem":60,"description":1290,"icon":61,"children":-1},"Use a server entry to create a global middleware that runs for all routes before they are matched.",1771523838370]