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