[{"data":1,"prerenderedAt":1276},["ShallowReactive",2],{"navigation":3,"-docs-tasks":224,"-docs-tasks-surround":1271},[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":1265,"extension":1266,"meta":1267,"navigation":1268,"path":54,"seo":1269,"stem":55,"__hash__":1270},"content/1.docs/50.tasks.md",{"type":227,"value":228,"toc":1250,"icon":56},"minimark",[229,236,241,255,258,342,346,353,368,374,485,489,492,556,568,573,618,622,629,633,740,744,747,751,758,761,899,905,912,1158,1164,1168,1177,1181,1199,1203,1226,1230,1234,1241,1246],[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],"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 have 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 exactly same patterns you define in ",[266,612,613],{},"scheduledTasks"," to be matched.",[577,616,617],{},"More presets (with native primitives support) are planned to be supported!",[237,619,621],{"id":620},"programmatically-run-tasks","Programmatically run tasks",[233,623,624,625,628],{},"To manually run tasks, you can use ",[266,626,627],{},"runTask(name, { payload? })"," utility.",[233,630,631],{},[371,632,373],{},[259,634,637],{"className":261,"code":635,"filename":636,"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,638,639,668,673,696,724,728,736],{"__ignoreMap":5},[269,640,641,643,645,648,650,653,656,659,662,665],{"class":271,"line":272},[269,642,303],{"class":275},[269,644,306],{"class":275},[269,646,647],{"class":309}," eventHandler",[269,649,452],{"class":279},[269,651,652],{"class":275},"async",[269,654,655],{"class":279}," (",[269,657,658],{"class":431},"event",[269,660,661],{"class":279},") ",[269,663,664],{"class":275},"=>",[269,666,667],{"class":279}," {\n",[269,669,670],{"class":271,"line":293},[269,671,672],{"class":532},"  // IMPORTANT: Authenticate user and validate payload!\n",[269,674,675,678,681,684,687,690,693],{"class":271,"line":300},[269,676,677],{"class":275},"  const",[269,679,680],{"class":328}," payload",[269,682,683],{"class":275}," =",[269,685,686],{"class":279}," { ",[269,688,689],{"class":275},"...",[269,691,692],{"class":309},"getQuery",[269,694,695],{"class":279},"(event) };\n",[269,697,698,700,702,705,708,711,714,717,719,721],{"class":271,"line":316},[269,699,677],{"class":275},[269,701,686],{"class":279},[269,703,704],{"class":328},"result",[269,706,707],{"class":279}," } ",[269,709,710],{"class":275},"=",[269,712,713],{"class":275}," await",[269,715,716],{"class":309}," runTask",[269,718,452],{"class":279},[269,720,402],{"class":286},[269,722,723],{"class":279},", { payload });\n",[269,725,726],{"class":271,"line":322},[269,727,297],{"emptyLinePlaceholder":296},[269,729,730,733],{"class":271,"line":332},[269,731,732],{"class":275},"  return",[269,734,735],{"class":279}," { result };\n",[269,737,738],{"class":271,"line":338},[269,739,484],{"class":279},[237,741,743],{"id":742},"run-tasks-with-dev-server","Run tasks with dev server",[233,745,746],{},"Nitro's built-in dev server exposes tasks to be easily executed without programmatic usage.",[569,748,750],{"id":749},"using-api-routes","Using API routes",[752,753,755],"h4",{"id":754},"_nitrotasks",[266,756,757],{},"/_nitro/tasks",[233,759,760],{},"This endpoint returns a list of available task names and their meta.",[259,762,766],{"className":763,"code":764,"language":765,"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,767,768,773,778,786,793,804,809,816,825,830,834,843,849,862,870,876,882,887,893],{"__ignoreMap":5},[269,769,770],{"class":271,"line":272},[269,771,772],{"class":532},"// [GET] /_nitro/tasks\n",[269,774,775],{"class":271,"line":293},[269,776,777],{"class":279},"{\n",[269,779,780,783],{"class":271,"line":300},[269,781,782],{"class":328},"  \"tasks\"",[269,784,785],{"class":279},": {\n",[269,787,788,791],{"class":271,"line":316},[269,789,790],{"class":328},"    \"db:migrate\"",[269,792,785],{"class":279},[269,794,795,798,801],{"class":271,"line":322},[269,796,797],{"class":328},"      \"description\"",[269,799,800],{"class":279},": ",[269,802,803],{"class":286},"\"Run database migrations\"\n",[269,805,806],{"class":271,"line":332},[269,807,808],{"class":279},"    },\n",[269,810,811,814],{"class":271,"line":338},[269,812,813],{"class":328},"     \"cms:update\"",[269,815,785],{"class":279},[269,817,818,820,822],{"class":271,"line":461},[269,819,797],{"class":328},[269,821,800],{"class":279},[269,823,824],{"class":286},"\"Update CMS content\"\n",[269,826,827],{"class":271,"line":476},[269,828,829],{"class":279},"    }\n",[269,831,832],{"class":271,"line":481},[269,833,420],{"class":279},[269,835,837,840],{"class":271,"line":836},11,[269,838,839],{"class":328},"  \"scheduledTasks\"",[269,841,842],{"class":279},": [\n",[269,844,846],{"class":271,"line":845},12,[269,847,848],{"class":279},"    {\n",[269,850,852,855,857,860],{"class":271,"line":851},13,[269,853,854],{"class":328},"      \"cron\"",[269,856,800],{"class":279},[269,858,859],{"class":286},"\"* * * * *\"",[269,861,405],{"class":279},[269,863,865,868],{"class":271,"line":864},14,[269,866,867],{"class":328},"      \"tasks\"",[269,869,842],{"class":279},[269,871,873],{"class":271,"line":872},15,[269,874,875],{"class":286},"        \"cms:update\"\n",[269,877,879],{"class":271,"line":878},16,[269,880,881],{"class":279},"      ]\n",[269,883,885],{"class":271,"line":884},17,[269,886,829],{"class":279},[269,888,890],{"class":271,"line":889},18,[269,891,892],{"class":279},"  ]\n",[269,894,896],{"class":271,"line":895},19,[269,897,898],{"class":279},"}\n",[752,900,902],{"id":901},"_nitrotasksname",[266,903,904],{},"/_nitro/tasks/:name",[233,906,907,908,911],{},"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,909,910],{},"\"payload\""," property.",[913,914,915,999,1047],"code-group",{},[259,916,919],{"className":261,"code":917,"filename":918,"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,920,921,931,935,944,953,957,971,984,991,995],{"__ignoreMap":5},[269,922,923,925,927,929],{"class":271,"line":272},[269,924,303],{"class":275},[269,926,306],{"class":275},[269,928,387],{"class":309},[269,930,313],{"class":279},[269,932,933],{"class":271,"line":293},[269,934,394],{"class":279},[269,936,937,939,942],{"class":271,"line":300},[269,938,399],{"class":279},[269,940,941],{"class":286},"\"echo:payload\"",[269,943,405],{"class":279},[269,945,946,948,951],{"class":271,"line":316},[269,947,410],{"class":279},[269,949,950],{"class":286},"\"Returns the provided payload\"",[269,952,405],{"class":279},[269,954,955],{"class":271,"line":322},[269,956,420],{"class":279},[269,958,959,961,963,965,967,969],{"class":271,"line":332},[269,960,425],{"class":309},[269,962,428],{"class":279},[269,964,432],{"class":431},[269,966,435],{"class":279},[269,968,438],{"class":431},[269,970,441],{"class":279},[269,972,973,975,977,979,982],{"class":271,"line":338},[269,974,446],{"class":279},[269,976,449],{"class":309},[269,978,452],{"class":279},[269,980,981],{"class":286},"\"Running echo task...\"",[269,983,458],{"class":279},[269,985,986,988],{"class":271,"line":461},[269,987,464],{"class":275},[269,989,990],{"class":279}," { result: payload };\n",[269,992,993],{"class":271,"line":476},[269,994,420],{"class":279},[269,996,997],{"class":271,"line":481},[269,998,484],{"class":279},[259,1000,1003],{"className":763,"code":1001,"filename":1002,"language":765,"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,1004,1005,1010,1014,1026,1043],{"__ignoreMap":5},[269,1006,1007],{"class":271,"line":272},[269,1008,1009],{"class":532},"// [GET] /_nitro/tasks/echo:payload?field=value&array=1&array=2\n",[269,1011,1012],{"class":271,"line":293},[269,1013,777],{"class":279},[269,1015,1016,1019,1021,1024],{"class":271,"line":300},[269,1017,1018],{"class":328},"  \"field\"",[269,1020,800],{"class":279},[269,1022,1023],{"class":286},"\"value\"",[269,1025,405],{"class":279},[269,1027,1028,1031,1033,1036,1038,1041],{"class":271,"line":316},[269,1029,1030],{"class":328},"  \"array\"",[269,1032,541],{"class":279},[269,1034,1035],{"class":286},"\"1\"",[269,1037,435],{"class":279},[269,1039,1040],{"class":286},"\"2\"",[269,1042,547],{"class":279},[269,1044,1045],{"class":271,"line":322},[269,1046,898],{"class":279},[259,1048,1051],{"className":763,"code":1049,"filename":1050,"language":765,"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,1052,1053,1058,1063,1068,1073,1078,1083,1088,1093,1098,1103,1108,1112,1122,1134,1141,1150,1154],{"__ignoreMap":5},[269,1054,1055],{"class":271,"line":272},[269,1056,1057],{"class":532},"/**\n",[269,1059,1060],{"class":271,"line":293},[269,1061,1062],{"class":532}," * [POST] /_nitro/tasks/echo:payload?field=value\n",[269,1064,1065],{"class":271,"line":300},[269,1066,1067],{"class":532}," * body: {\n",[269,1069,1070],{"class":271,"line":316},[269,1071,1072],{"class":532}," *   \"payload\": {\n",[269,1074,1075],{"class":271,"line":322},[269,1076,1077],{"class":532}," *     \"answer\": 42,\n",[269,1079,1080],{"class":271,"line":332},[269,1081,1082],{"class":532}," *     \"nested\": {\n",[269,1084,1085],{"class":271,"line":338},[269,1086,1087],{"class":532}," *       \"value\": true\n",[269,1089,1090],{"class":271,"line":461},[269,1091,1092],{"class":532}," *     }\n",[269,1094,1095],{"class":271,"line":476},[269,1096,1097],{"class":532}," *   }\n",[269,1099,1100],{"class":271,"line":481},[269,1101,1102],{"class":532}," * }\n",[269,1104,1105],{"class":271,"line":836},[269,1106,1107],{"class":532}," */\n",[269,1109,1110],{"class":271,"line":845},[269,1111,777],{"class":279},[269,1113,1114,1116,1118,1120],{"class":271,"line":851},[269,1115,1018],{"class":328},[269,1117,800],{"class":279},[269,1119,1023],{"class":286},[269,1121,405],{"class":279},[269,1123,1124,1127,1129,1132],{"class":271,"line":864},[269,1125,1126],{"class":328},"  \"answer\"",[269,1128,800],{"class":279},[269,1130,1131],{"class":328},"42",[269,1133,405],{"class":279},[269,1135,1136,1139],{"class":271,"line":872},[269,1137,1138],{"class":328},"  \"nested\"",[269,1140,785],{"class":279},[269,1142,1143,1146,1148],{"class":271,"line":878},[269,1144,1145],{"class":328},"    \"value\"",[269,1147,800],{"class":279},[269,1149,329],{"class":328},[269,1151,1152],{"class":271,"line":884},[269,1153,335],{"class":279},[269,1155,1156],{"class":271,"line":889},[269,1157,898],{"class":279},[1159,1160,1161],"note",{},[233,1162,1163],{},"\nThe JSON payload included in the body will overwrite the keys present in the query params.",[569,1165,1167],{"id":1166},"using-cli","Using CLI",[242,1169,1170],{},[233,1171,1172,1173,1176],{},"\nIt is only possible to run these commands while the ",[371,1174,1175],{},"dev server is running",". You should run them in a second terminal.",[752,1178,1180],{"id":1179},"list-tasks","List tasks",[259,1182,1186],{"className":1183,"code":1184,"language":1185,"meta":5,"style":5},"language-sh shiki shiki-themes github-light github-dark github-dark","nitro task list\n","sh",[266,1187,1188],{"__ignoreMap":5},[269,1189,1190,1193,1196],{"class":271,"line":272},[269,1191,1192],{"class":309},"nitro",[269,1194,1195],{"class":286}," task",[269,1197,1198],{"class":286}," list\n",[752,1200,1202],{"id":1201},"run-a-task","Run a task",[259,1204,1206],{"className":1183,"code":1205,"language":1185,"meta":5,"style":5},"nitro task run db:migrate --payload \"{}\"\n",[266,1207,1208],{"__ignoreMap":5},[269,1209,1210,1212,1214,1217,1220,1223],{"class":271,"line":272},[269,1211,1192],{"class":309},[269,1213,1195],{"class":286},[269,1215,1216],{"class":286}," run",[269,1218,1219],{"class":286}," db:migrate",[269,1221,1222],{"class":328}," --payload",[269,1224,1225],{"class":286}," \"{}\"\n",[237,1227,1229],{"id":1228},"notes","Notes",[569,1231,1233],{"id":1232},"concurrency","Concurrency",[233,1235,1236,1237,1240],{},"Each task can have ",[371,1238,1239],{},"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.",[1159,1242,1243],{},[233,1244,1245],{},"\nNitro tasks can be running multiple times and in parallel.",[1247,1248,1249],"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":1251},[1252,1253,1254,1257,1258,1262],{"id":239,"depth":293,"text":240},{"id":344,"depth":293,"text":345},{"id":487,"depth":293,"text":488,"children":1255},[1256],{"id":571,"depth":300,"text":572},{"id":620,"depth":293,"text":621},{"id":742,"depth":293,"text":743,"children":1259},[1260,1261],{"id":749,"depth":300,"text":750},{"id":1166,"depth":300,"text":1167},{"id":1228,"depth":293,"text":1229,"children":1263},[1264],{"id":1232,"depth":300,"text":1233},"Nitro tasks allow on-off operations in runtime.","md",{"icon":56},{"icon":56},{"title":53,"description":1265},"yXuXhGHz_826OFnFShMg2SGj4aIc6bm2QGFbePYTrDo",[1272,1274],{"title":48,"path":49,"stem":50,"description":1273,"icon":51,"children":-1},"Use plugins to extend Nitro's runtime behavior.",{"title":58,"path":59,"stem":60,"description":1275,"icon":61,"children":-1},"Use a server entry to create a global middleware that runs for all routes before they are matched.",1770906699302]