[{"data":1,"prerenderedAt":1269},["ShallowReactive",2],{"navigation":3,"-docs-tasks":217,"-docs-tasks-surround":1264},[4,83,208,214],{"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":5,"path":215,"stem":216},"/","index",{"id":218,"title":53,"body":219,"description":1258,"extension":1259,"meta":1260,"navigation":1261,"path":54,"seo":1262,"stem":55,"__hash__":1263},"content/1.docs/50.tasks.md",{"type":220,"value":221,"toc":1243,"icon":56},"minimark",[222,229,234,248,251,335,339,346,361,367,478,482,485,549,561,566,611,615,622,626,733,737,740,744,751,754,892,898,905,1151,1157,1161,1170,1174,1192,1196,1219,1223,1227,1234,1239],[223,224,225],"warning",{},[226,227,228],"p",{},"Nitro v3 Alpha docs are a work in progress — expect updates, rough edges, and occasional inaccuracies.",[230,231,233],"h2",{"id":232},"opt-in-to-the-experimental-feature","Opt-in to the experimental feature",[235,236,237],"important",{},[226,238,239,240,247],{},"\nTasks support is currently experimental.\nSee ",[241,242,246],"a",{"href":243,"rel":244},"https://github.com/nitrojs/nitro/issues/1974",[245],"nofollow","nitrojs/nitro#1974"," for the relevant discussion.",[226,249,250],{},"In order to use the tasks API you need to enable experimental feature flag.",[252,253,258],"pre",{"className":254,"code":255,"filename":256,"language":257,"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",[259,260,261,284,291,307,313,323,329],"code",{"__ignoreMap":5},[262,263,266,270,274,277,281],"span",{"class":264,"line":265},"line",1,[262,267,269],{"class":268},"so5gQ","import",[262,271,273],{"class":272},"slsVL"," { defineNitroConfig } ",[262,275,276],{"class":268},"from",[262,278,280],{"class":279},"sfrk1"," \"nitro/config\"",[262,282,283],{"class":272},";\n",[262,285,287],{"class":264,"line":286},2,[262,288,290],{"emptyLinePlaceholder":289},true,"\n",[262,292,294,297,300,304],{"class":264,"line":293},3,[262,295,296],{"class":268},"export",[262,298,299],{"class":268}," default",[262,301,303],{"class":302},"shcOC"," defineNitroConfig",[262,305,306],{"class":272},"({\n",[262,308,310],{"class":264,"line":309},4,[262,311,312],{"class":272},"  experimental: {\n",[262,314,316,319],{"class":264,"line":315},5,[262,317,318],{"class":272},"    tasks: ",[262,320,322],{"class":321},"suiK_","true\n",[262,324,326],{"class":264,"line":325},6,[262,327,328],{"class":272},"  }\n",[262,330,332],{"class":264,"line":331},7,[262,333,334],{"class":272},"})\n",[230,336,338],{"id":337},"define-tasks","Define tasks",[226,340,341,342,345],{},"Tasks can be defined in ",[259,343,344],{},"tasks/[name].ts"," files.",[226,347,348,349,352,353,356,357,360],{},"Nested directories are supported. The task name will be joined with ",[259,350,351],{},":",". (Example: ",[259,354,355],{},"tasks/db/migrate.ts","task name will be ",[259,358,359],{},"db:migrate",")",[226,362,363],{},[364,365,366],"strong",{},"Example:",[252,368,370],{"className":254,"code":369,"filename":355,"language":257,"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",[259,371,372,383,388,399,409,414,435,452,467,472],{"__ignoreMap":5},[262,373,374,376,378,381],{"class":264,"line":265},[262,375,296],{"class":268},[262,377,299],{"class":268},[262,379,380],{"class":302}," defineTask",[262,382,306],{"class":272},[262,384,385],{"class":264,"line":286},[262,386,387],{"class":272},"  meta: {\n",[262,389,390,393,396],{"class":264,"line":293},[262,391,392],{"class":272},"    name: ",[262,394,395],{"class":279},"\"db:migrate\"",[262,397,398],{"class":272},",\n",[262,400,401,404,407],{"class":264,"line":309},[262,402,403],{"class":272},"    description: ",[262,405,406],{"class":279},"\"Run database migrations\"",[262,408,398],{"class":272},[262,410,411],{"class":264,"line":315},[262,412,413],{"class":272},"  },\n",[262,415,416,419,422,426,429,432],{"class":264,"line":325},[262,417,418],{"class":302},"  run",[262,420,421],{"class":272},"({ ",[262,423,425],{"class":424},"sQHwn","payload",[262,427,428],{"class":272},", ",[262,430,431],{"class":424},"context",[262,433,434],{"class":272}," }) {\n",[262,436,437,440,443,446,449],{"class":264,"line":331},[262,438,439],{"class":272},"    console.",[262,441,442],{"class":302},"log",[262,444,445],{"class":272},"(",[262,447,448],{"class":279},"\"Running DB migration task...\"",[262,450,451],{"class":272},");\n",[262,453,455,458,461,464],{"class":264,"line":454},8,[262,456,457],{"class":268},"    return",[262,459,460],{"class":272}," { result: ",[262,462,463],{"class":279},"\"Success\"",[262,465,466],{"class":272}," };\n",[262,468,470],{"class":264,"line":469},9,[262,471,413],{"class":272},[262,473,475],{"class":264,"line":474},10,[262,476,477],{"class":272},"});\n",[230,479,481],{"id":480},"scheduled-tasks","Scheduled tasks",[226,483,484],{},"You can define scheduled tasks using Nitro configuration to automatically run after each period of time.",[252,486,488],{"className":254,"code":487,"filename":256,"language":257,"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",[259,489,490,502,506,516,521,527,541,545],{"__ignoreMap":5},[262,491,492,494,496,498,500],{"class":264,"line":265},[262,493,269],{"class":268},[262,495,273],{"class":272},[262,497,276],{"class":268},[262,499,280],{"class":279},[262,501,283],{"class":272},[262,503,504],{"class":264,"line":286},[262,505,290],{"emptyLinePlaceholder":289},[262,507,508,510,512,514],{"class":264,"line":293},[262,509,296],{"class":268},[262,511,299],{"class":268},[262,513,303],{"class":302},[262,515,306],{"class":272},[262,517,518],{"class":264,"line":309},[262,519,520],{"class":272},"  scheduledTasks: {\n",[262,522,523],{"class":264,"line":315},[262,524,526],{"class":525},"sCsY4","    // Run `cms:update` task every minute\n",[262,528,529,532,535,538],{"class":264,"line":325},[262,530,531],{"class":279},"    '* * * * *'",[262,533,534],{"class":272},": [",[262,536,537],{"class":279},"'cms:update'",[262,539,540],{"class":272},"]\n",[262,542,543],{"class":264,"line":331},[262,544,328],{"class":272},[262,546,547],{"class":264,"line":454},[262,548,334],{"class":272},[550,551,552],"tip",{},[226,553,554,555,560],{},"\nYou can use ",[241,556,559],{"href":557,"rel":558},"https://crontab.guru/",[245],"crontab.guru"," to easily generate and understand cron tab patterns.",[562,563,565],"h3",{"id":564},"platform-support","Platform support",[567,568,569,592,608],"ul",{},[570,571,572,428,575,428,578,581,582,585,586,591],"li",{},[259,573,574],{},"dev",[259,576,577],{},"node-server",[259,579,580],{},"bun"," and ",[259,583,584],{},"deno-server"," presets are supported with ",[241,587,590],{"href":588,"rel":589},"https://croner.56k.guru/",[245],"croner"," engine.",[570,593,594,597,598,603,604,607],{},[259,595,596],{},"cloudflare_module"," preset have native integration with ",[241,599,602],{"href":600,"rel":601},"https://developers.cloudflare.com/workers/configuration/cron-triggers/",[245],"Cron Triggers",". Make sure to configure wrangler to use exactly same patterns you define in ",[259,605,606],{},"scheduledTasks"," to be matched.",[570,609,610],{},"More presets (with native primitives support) are planned to be supported!",[230,612,614],{"id":613},"programmatically-run-tasks","Programmatically run tasks",[226,616,617,618,621],{},"To manually run tasks, you can use ",[259,619,620],{},"runTask(name, { payload? })"," utility.",[226,623,624],{},[364,625,366],{},[252,627,630],{"className":254,"code":628,"filename":629,"language":257,"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",[259,631,632,661,666,689,717,721,729],{"__ignoreMap":5},[262,633,634,636,638,641,643,646,649,652,655,658],{"class":264,"line":265},[262,635,296],{"class":268},[262,637,299],{"class":268},[262,639,640],{"class":302}," eventHandler",[262,642,445],{"class":272},[262,644,645],{"class":268},"async",[262,647,648],{"class":272}," (",[262,650,651],{"class":424},"event",[262,653,654],{"class":272},") ",[262,656,657],{"class":268},"=>",[262,659,660],{"class":272}," {\n",[262,662,663],{"class":264,"line":286},[262,664,665],{"class":525},"  // IMPORTANT: Authenticate user and validate payload!\n",[262,667,668,671,674,677,680,683,686],{"class":264,"line":293},[262,669,670],{"class":268},"  const",[262,672,673],{"class":321}," payload",[262,675,676],{"class":268}," =",[262,678,679],{"class":272}," { ",[262,681,682],{"class":268},"...",[262,684,685],{"class":302},"getQuery",[262,687,688],{"class":272},"(event) };\n",[262,690,691,693,695,698,701,704,707,710,712,714],{"class":264,"line":309},[262,692,670],{"class":268},[262,694,679],{"class":272},[262,696,697],{"class":321},"result",[262,699,700],{"class":272}," } ",[262,702,703],{"class":268},"=",[262,705,706],{"class":268}," await",[262,708,709],{"class":302}," runTask",[262,711,445],{"class":272},[262,713,395],{"class":279},[262,715,716],{"class":272},", { payload });\n",[262,718,719],{"class":264,"line":315},[262,720,290],{"emptyLinePlaceholder":289},[262,722,723,726],{"class":264,"line":325},[262,724,725],{"class":268},"  return",[262,727,728],{"class":272}," { result };\n",[262,730,731],{"class":264,"line":331},[262,732,477],{"class":272},[230,734,736],{"id":735},"run-tasks-with-dev-server","Run tasks with dev server",[226,738,739],{},"Nitro's built-in dev server exposes tasks to be easily executed without programmatic usage.",[562,741,743],{"id":742},"using-api-routes","Using API routes",[745,746,748],"h4",{"id":747},"_nitrotasks",[259,749,750],{},"/_nitro/tasks",[226,752,753],{},"This endpoint returns a list of available task names and their meta.",[252,755,759],{"className":756,"code":757,"language":758,"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",[259,760,761,766,771,779,786,797,802,809,818,823,827,836,842,855,863,869,875,880,886],{"__ignoreMap":5},[262,762,763],{"class":264,"line":265},[262,764,765],{"class":525},"// [GET] /_nitro/tasks\n",[262,767,768],{"class":264,"line":286},[262,769,770],{"class":272},"{\n",[262,772,773,776],{"class":264,"line":293},[262,774,775],{"class":321},"  \"tasks\"",[262,777,778],{"class":272},": {\n",[262,780,781,784],{"class":264,"line":309},[262,782,783],{"class":321},"    \"db:migrate\"",[262,785,778],{"class":272},[262,787,788,791,794],{"class":264,"line":315},[262,789,790],{"class":321},"      \"description\"",[262,792,793],{"class":272},": ",[262,795,796],{"class":279},"\"Run database migrations\"\n",[262,798,799],{"class":264,"line":325},[262,800,801],{"class":272},"    },\n",[262,803,804,807],{"class":264,"line":331},[262,805,806],{"class":321},"     \"cms:update\"",[262,808,778],{"class":272},[262,810,811,813,815],{"class":264,"line":454},[262,812,790],{"class":321},[262,814,793],{"class":272},[262,816,817],{"class":279},"\"Update CMS content\"\n",[262,819,820],{"class":264,"line":469},[262,821,822],{"class":272},"    }\n",[262,824,825],{"class":264,"line":474},[262,826,413],{"class":272},[262,828,830,833],{"class":264,"line":829},11,[262,831,832],{"class":321},"  \"scheduledTasks\"",[262,834,835],{"class":272},": [\n",[262,837,839],{"class":264,"line":838},12,[262,840,841],{"class":272},"    {\n",[262,843,845,848,850,853],{"class":264,"line":844},13,[262,846,847],{"class":321},"      \"cron\"",[262,849,793],{"class":272},[262,851,852],{"class":279},"\"* * * * *\"",[262,854,398],{"class":272},[262,856,858,861],{"class":264,"line":857},14,[262,859,860],{"class":321},"      \"tasks\"",[262,862,835],{"class":272},[262,864,866],{"class":264,"line":865},15,[262,867,868],{"class":279},"        \"cms:update\"\n",[262,870,872],{"class":264,"line":871},16,[262,873,874],{"class":272},"      ]\n",[262,876,878],{"class":264,"line":877},17,[262,879,822],{"class":272},[262,881,883],{"class":264,"line":882},18,[262,884,885],{"class":272},"  ]\n",[262,887,889],{"class":264,"line":888},19,[262,890,891],{"class":272},"}\n",[745,893,895],{"id":894},"_nitrotasksname",[259,896,897],{},"/_nitro/tasks/:name",[226,899,900,901,904],{},"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 ",[259,902,903],{},"\"payload\""," property.",[906,907,908,992,1040],"code-group",{},[252,909,912],{"className":254,"code":910,"filename":911,"language":257,"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",[259,913,914,924,928,937,946,950,964,977,984,988],{"__ignoreMap":5},[262,915,916,918,920,922],{"class":264,"line":265},[262,917,296],{"class":268},[262,919,299],{"class":268},[262,921,380],{"class":302},[262,923,306],{"class":272},[262,925,926],{"class":264,"line":286},[262,927,387],{"class":272},[262,929,930,932,935],{"class":264,"line":293},[262,931,392],{"class":272},[262,933,934],{"class":279},"\"echo:payload\"",[262,936,398],{"class":272},[262,938,939,941,944],{"class":264,"line":309},[262,940,403],{"class":272},[262,942,943],{"class":279},"\"Returns the provided payload\"",[262,945,398],{"class":272},[262,947,948],{"class":264,"line":315},[262,949,413],{"class":272},[262,951,952,954,956,958,960,962],{"class":264,"line":325},[262,953,418],{"class":302},[262,955,421],{"class":272},[262,957,425],{"class":424},[262,959,428],{"class":272},[262,961,431],{"class":424},[262,963,434],{"class":272},[262,965,966,968,970,972,975],{"class":264,"line":331},[262,967,439],{"class":272},[262,969,442],{"class":302},[262,971,445],{"class":272},[262,973,974],{"class":279},"\"Running echo task...\"",[262,976,451],{"class":272},[262,978,979,981],{"class":264,"line":454},[262,980,457],{"class":268},[262,982,983],{"class":272}," { result: payload };\n",[262,985,986],{"class":264,"line":469},[262,987,413],{"class":272},[262,989,990],{"class":264,"line":474},[262,991,477],{"class":272},[252,993,996],{"className":756,"code":994,"filename":995,"language":758,"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",[259,997,998,1003,1007,1019,1036],{"__ignoreMap":5},[262,999,1000],{"class":264,"line":265},[262,1001,1002],{"class":525},"// [GET] /_nitro/tasks/echo:payload?field=value&array=1&array=2\n",[262,1004,1005],{"class":264,"line":286},[262,1006,770],{"class":272},[262,1008,1009,1012,1014,1017],{"class":264,"line":293},[262,1010,1011],{"class":321},"  \"field\"",[262,1013,793],{"class":272},[262,1015,1016],{"class":279},"\"value\"",[262,1018,398],{"class":272},[262,1020,1021,1024,1026,1029,1031,1034],{"class":264,"line":309},[262,1022,1023],{"class":321},"  \"array\"",[262,1025,534],{"class":272},[262,1027,1028],{"class":279},"\"1\"",[262,1030,428],{"class":272},[262,1032,1033],{"class":279},"\"2\"",[262,1035,540],{"class":272},[262,1037,1038],{"class":264,"line":315},[262,1039,891],{"class":272},[252,1041,1044],{"className":756,"code":1042,"filename":1043,"language":758,"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",[259,1045,1046,1051,1056,1061,1066,1071,1076,1081,1086,1091,1096,1101,1105,1115,1127,1134,1143,1147],{"__ignoreMap":5},[262,1047,1048],{"class":264,"line":265},[262,1049,1050],{"class":525},"/**\n",[262,1052,1053],{"class":264,"line":286},[262,1054,1055],{"class":525}," * [POST] /_nitro/tasks/echo:payload?field=value\n",[262,1057,1058],{"class":264,"line":293},[262,1059,1060],{"class":525}," * body: {\n",[262,1062,1063],{"class":264,"line":309},[262,1064,1065],{"class":525}," *   \"payload\": {\n",[262,1067,1068],{"class":264,"line":315},[262,1069,1070],{"class":525}," *     \"answer\": 42,\n",[262,1072,1073],{"class":264,"line":325},[262,1074,1075],{"class":525}," *     \"nested\": {\n",[262,1077,1078],{"class":264,"line":331},[262,1079,1080],{"class":525}," *       \"value\": true\n",[262,1082,1083],{"class":264,"line":454},[262,1084,1085],{"class":525}," *     }\n",[262,1087,1088],{"class":264,"line":469},[262,1089,1090],{"class":525}," *   }\n",[262,1092,1093],{"class":264,"line":474},[262,1094,1095],{"class":525}," * }\n",[262,1097,1098],{"class":264,"line":829},[262,1099,1100],{"class":525}," */\n",[262,1102,1103],{"class":264,"line":838},[262,1104,770],{"class":272},[262,1106,1107,1109,1111,1113],{"class":264,"line":844},[262,1108,1011],{"class":321},[262,1110,793],{"class":272},[262,1112,1016],{"class":279},[262,1114,398],{"class":272},[262,1116,1117,1120,1122,1125],{"class":264,"line":857},[262,1118,1119],{"class":321},"  \"answer\"",[262,1121,793],{"class":272},[262,1123,1124],{"class":321},"42",[262,1126,398],{"class":272},[262,1128,1129,1132],{"class":264,"line":865},[262,1130,1131],{"class":321},"  \"nested\"",[262,1133,778],{"class":272},[262,1135,1136,1139,1141],{"class":264,"line":871},[262,1137,1138],{"class":321},"    \"value\"",[262,1140,793],{"class":272},[262,1142,322],{"class":321},[262,1144,1145],{"class":264,"line":877},[262,1146,328],{"class":272},[262,1148,1149],{"class":264,"line":882},[262,1150,891],{"class":272},[1152,1153,1154],"note",{},[226,1155,1156],{},"\nThe JSON payload included in the body will overwrite the keys present in the query params.",[562,1158,1160],{"id":1159},"using-cli","Using CLI",[235,1162,1163],{},[226,1164,1165,1166,1169],{},"\nIt is only possible to run these commands while the ",[364,1167,1168],{},"dev server is running",". You should run them in a second terminal.",[745,1171,1173],{"id":1172},"list-tasks","List tasks",[252,1175,1179],{"className":1176,"code":1177,"language":1178,"meta":5,"style":5},"language-sh shiki shiki-themes github-light github-dark github-dark","nitro task list\n","sh",[259,1180,1181],{"__ignoreMap":5},[262,1182,1183,1186,1189],{"class":264,"line":265},[262,1184,1185],{"class":302},"nitro",[262,1187,1188],{"class":279}," task",[262,1190,1191],{"class":279}," list\n",[745,1193,1195],{"id":1194},"run-a-task","Run a task",[252,1197,1199],{"className":1176,"code":1198,"language":1178,"meta":5,"style":5},"nitro task run db:migrate --payload \"{}\"\n",[259,1200,1201],{"__ignoreMap":5},[262,1202,1203,1205,1207,1210,1213,1216],{"class":264,"line":265},[262,1204,1185],{"class":302},[262,1206,1188],{"class":279},[262,1208,1209],{"class":279}," run",[262,1211,1212],{"class":279}," db:migrate",[262,1214,1215],{"class":321}," --payload",[262,1217,1218],{"class":279}," \"{}\"\n",[230,1220,1222],{"id":1221},"notes","Notes",[562,1224,1226],{"id":1225},"concurrency","Concurrency",[226,1228,1229,1230,1233],{},"Each task can have ",[364,1231,1232],{},"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.",[1152,1235,1236],{},[226,1237,1238],{},"\nNitro tasks can be running multiple times and in parallel.",[1240,1241,1242],"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":286,"depth":286,"links":1244},[1245,1246,1247,1250,1251,1255],{"id":232,"depth":286,"text":233},{"id":337,"depth":286,"text":338},{"id":480,"depth":286,"text":481,"children":1248},[1249],{"id":564,"depth":293,"text":565},{"id":613,"depth":286,"text":614},{"id":735,"depth":286,"text":736,"children":1252},[1253,1254],{"id":742,"depth":293,"text":743},{"id":1159,"depth":293,"text":1160},{"id":1221,"depth":286,"text":1222,"children":1256},[1257],{"id":1225,"depth":293,"text":1226},"Nitro tasks allow on-off operations in runtime.","md",{"icon":56},{"icon":56},{"title":53,"description":1258},"yXuXhGHz_826OFnFShMg2SGj4aIc6bm2QGFbePYTrDo",[1265,1267],{"title":48,"path":49,"stem":50,"description":1266,"icon":51,"children":-1},"Use plugins to extend Nitro's runtime behavior.",{"title":58,"path":59,"stem":60,"description":1268,"icon":61,"children":-1},"Use a server entry to create a global middleware that runs for all routes before they are matched.",1764005906105]