[{"data":1,"prerenderedAt":2034},["ShallowReactive",2],{"docs:\u002Fen\u002Freference\u002Fconfig":3},{"page":4,"untranslated":2033,"translated":2026},{"id":5,"title":6,"body":7,"description":2023,"extension":2024,"meta":2025,"navigation":2026,"path":2027,"publishedAt":2028,"seo":2029,"stem":2030,"updatedAt":2031,"__hash__":2032},"docs_en\u002Fen\u002Freference\u002Fconfig.md","Configuration",{"type":8,"value":9,"toc":2004},"minimark",[10,14,19,131,149,334,339,458,499,501,544,589,591,722,751,754,789,809,812,859,904,907,973,988,992,1066,1070,1146,1149,1292,1296,1513,1519,1541,1545,1606,1610,1651,1657,1685,1689,1797,1809,1822,1878,1884,1888,1982,2000],[11,12,6],"h1",{"id":13},"設定",[15,16,18],"h2",{"id":17},"definetsumugi","defineTsumugi",[20,21,26],"pre",{"className":22,"code":23,"language":24,"meta":25,"style":25},"language-ts shiki shiki-themes github-light github-dark","const tsumugi = defineTsumugi({\n  performers,\n  flows,\n  schedules,\n  runs,\n  bindings,\n  auth,\n  ui,\n  retention,\n  metrics,\n  onFailure,\n  onSettled,\n  onEnqueue,\n});\n","ts","",[27,28,29,53,59,65,71,77,83,89,95,101,107,113,119,125],"code",{"__ignoreMap":25},[30,31,34,38,42,45,49],"span",{"class":32,"line":33},"line",1,[30,35,37],{"class":36},"szBVR","const",[30,39,41],{"class":40},"sj4cs"," tsumugi",[30,43,44],{"class":36}," =",[30,46,48],{"class":47},"sScJk"," defineTsumugi",[30,50,52],{"class":51},"sVt8B","({\n",[30,54,56],{"class":32,"line":55},2,[30,57,58],{"class":51},"  performers,\n",[30,60,62],{"class":32,"line":61},3,[30,63,64],{"class":51},"  flows,\n",[30,66,68],{"class":32,"line":67},4,[30,69,70],{"class":51},"  schedules,\n",[30,72,74],{"class":32,"line":73},5,[30,75,76],{"class":51},"  runs,\n",[30,78,80],{"class":32,"line":79},6,[30,81,82],{"class":51},"  bindings,\n",[30,84,86],{"class":32,"line":85},7,[30,87,88],{"class":51},"  auth,\n",[30,90,92],{"class":32,"line":91},8,[30,93,94],{"class":51},"  ui,\n",[30,96,98],{"class":32,"line":97},9,[30,99,100],{"class":51},"  retention,\n",[30,102,104],{"class":32,"line":103},10,[30,105,106],{"class":51},"  metrics,\n",[30,108,110],{"class":32,"line":109},11,[30,111,112],{"class":51},"  onFailure,\n",[30,114,116],{"class":32,"line":115},12,[30,117,118],{"class":51},"  onSettled,\n",[30,120,122],{"class":32,"line":121},13,[30,123,124],{"class":51},"  onEnqueue,\n",[30,126,128],{"class":32,"line":127},14,[30,129,130],{"class":51},"});\n",[132,133,134,136,137,140,141,144,145,148],"p",{},[27,135,18],{}," does not need type arguments.",[138,139],"br",{},"\nThe payload type for each binding and ",[27,142,143],{},"Env"," are inferred automatically from the contents of ",[27,146,147],{},"performers",".",[150,151,152,168],"table",{},[153,154,155],"thead",{},[156,157,158,162,165],"tr",{},[159,160,161],"th",{},"Name",[159,163,164],{},"Required",[159,166,167],{},"Description",[169,170,171,184,200,215,227,239,251,270,282,298,310,322],"tbody",{},[156,172,173,178,181],{},[174,175,176],"td",{},[27,177,147],{},[174,179,180],{},"○",[174,182,183],{},"Performer modules. The source from which payload and required-key types are derived",[156,185,186,191,193],{},[174,187,188],{},[27,189,190],{},"flows",[174,192],{},[174,194,195,196,199],{},"Mapping of Flow names to definitions. Requires the ",[27,197,198],{},"RUN"," binding when specified",[156,201,202,207,209],{},[174,203,204],{},[27,205,206],{},"schedules",[174,208],{},[174,210,211,212,199],{},"Definitions of scheduled execution. Requires the ",[27,213,214],{},"SCHEDULER",[156,216,217,222,224],{},[174,218,219],{},[27,220,221],{},"runs",[174,223],{},[174,225,226],{},"Limits and retention period for Runs",[156,228,229,234,236],{},[174,230,231],{},[27,232,233],{},"bindings",[174,235],{},[174,237,238],{},"Per-binding shard count, execution limits, and retention period",[156,240,241,246,248],{},[174,242,243],{},[27,244,245],{},"auth",[174,247],{},[174,249,250],{},"Authentication. When unset, all requests to the REST API and the dashboard return 404",[156,252,253,258,260],{},[174,254,255],{},[27,256,257],{},"ui",[174,259],{},[174,261,262,265,266,269],{},[27,263,264],{},"ui()"," from ",[27,267,268],{},"tsumugi\u002Fui",". When omitted, the dashboard bundle is not included",[156,271,272,277,279],{},[174,273,274],{},[27,275,276],{},"retention",[174,278],{},[174,280,281],{},"Retention period for lists",[156,283,284,289,291],{},[174,285,286],{},[27,287,288],{},"metrics",[174,290],{},[174,292,293,294,297],{},"Settings for reading metrics. When unset, ",[27,295,296],{},"GET \u002Fapi\u002Fmetrics"," returns 501",[156,299,300,305,307],{},[174,301,302],{},[27,303,304],{},"onFailure",[174,306],{},[174,308,309],{},"Binding name to notify of failed jobs. When unset, no notification is sent",[156,311,312,317,319],{},[174,313,314],{},[27,315,316],{},"onSettled",[174,318],{},[174,320,321],{},"Binding name to notify of finished jobs, and the states to notify",[156,323,324,329,331],{},[174,325,326],{},[27,327,328],{},"onEnqueue",[174,330],{},[174,332,333],{},"Function that sets default execution options on each enqueue",[335,336,338],"h3",{"id":337},"戻り値","Return value",[150,340,341,349],{},[153,342,343],{},[156,344,345,347],{},[159,346,161],{},[159,348,167],{},[169,350,351,371,385,395,408,418,428,438,448],{},[156,352,353,365],{},[174,354,355,358,359,358,362],{},[27,356,357],{},"fetch",", ",[27,360,361],{},"queue",[27,363,364],{},"scheduled",[174,366,367,370],{},[27,368,369],{},"ExportedHandler"," handlers to include in the default export",[156,372,373,378],{},[174,374,375],{},[27,376,377],{},"jobs(env)",[174,379,380,381,384],{},"Typed enqueue object (",[27,382,383],{},"JobQueue\u003CM>",")",[156,386,387,392],{},[174,388,389],{},[27,390,391],{},"enqueue(env, input)",[174,393,394],{},"Typed enqueue of one job. Returns the job ID",[156,396,397,402],{},[174,398,399],{},[27,400,401],{},"enqueueMany(env, inputs)",[174,403,404,405],{},"Enqueues multiple jobs in the same format as ",[27,406,407],{},"enqueue",[156,409,410,415],{},[174,411,412],{},[27,413,414],{},"shardFor(env, binding, partitionKey?)",[174,416,417],{},"Stub of the target shard",[156,419,420,425],{},[174,421,422],{},[27,423,424],{},"start(env, flow, input, options?)",[174,426,427],{},"Starts a Run. Returns the runId",[156,429,430,435],{},[174,431,432],{},[27,433,434],{},"runFor(env, runId)",[174,436,437],{},"Stub of the Run",[156,439,440,445],{},[174,441,442],{},[27,443,444],{},"runClass",[174,446,447],{},"Run class to register in wrangler",[156,449,450,455],{},[174,451,452],{},[27,453,454],{},"schedulerClass",[174,456,457],{},"Scheduled-execution class to register in wrangler",[132,459,460,461,463,464,358,467,470,471,148,473,475,476,478,479,481,482,484,485,487,488,490,491,493,494,148],{},"Even when ",[27,462,190],{}," is not specified, the return value includes ",[27,465,466],{},"start",[27,468,469],{},"runFor",", and ",[27,472,444],{},[138,474],{},"\nPassing a Flow name that is not defined in ",[27,477,190],{}," to ",[27,480,466],{}," throws an exception.",[138,483],{},"\nCalling ",[27,486,469],{}," when the ",[27,489,198],{}," binding does not exist also throws an exception.",[138,492],{},"\nFor the differences between enqueue methods, see ",[495,496,498],"a",{"href":497},"\u002Fen\u002Fguide\u002Fenqueue#%E6%8A%95%E5%85%A5%E6%96%B9%E6%B3%95","Enqueueing jobs",[15,500,245],{"id":245},[150,502,503,512],{},[153,504,505],{},[156,506,507,510],{},[159,508,509],{},"Function",[159,511,167],{},[169,513,514,524,534],{},[156,515,516,521],{},[174,517,518],{},[27,519,520],{},"bearerAuth",[174,522,523],{},"Authentication with a single token",[156,525,526,531],{},[174,527,528],{},[27,529,530],{},"cloudflareAccess",[174,532,533],{},"Verification of the Cloudflare Access JWT",[156,535,536,541],{},[174,537,538],{},[27,539,540],{},"unsafeNoAuth",[174,542,543],{},"No authentication",[132,545,546,547,148,549,551,552,555,556,559,560,563,564,148,567,569,570,148,574,576,577,579,580,582,583,585,586,148],{},"You can pass a custom authentication function to ",[27,548,245],{},[138,550],{},"\nThe function takes ",[27,553,554],{},"request"," and ",[27,557,558],{},"env"," and returns a ",[27,561,562],{},"Response"," or ",[27,565,566],{},"undefined",[138,568],{},"\nFor details, see ",[495,571,573],{"href":572},"\u002Fen\u002Fguide\u002Fdashboard#%E7%8B%AC%E8%87%AA%E3%81%AE%E8%AA%8D%E8%A8%BC","Dashboard and authentication",[138,575],{},"\nWhen ",[27,578,245],{}," is not set, all requests to the REST API and the dashboard receive a 404 response.",[138,581],{},"\nFor the effects of ",[27,584,540],{},", see ",[495,587,573],{"href":588},"\u002Fen\u002Fguide\u002Fdashboard#%E8%AA%8D%E8%A8%BC%E3%81%97%E3%81%AA%E3%81%84%E6%A7%8B%E6%88%90",[15,590,288],{"id":288},[20,592,594],{"className":22,"code":593,"language":24,"meta":25,"style":25},"const tsumugi = defineTsumugi({\n  performers,\n  auth: bearerAuth((env: Env) => env.TSUMUGI_TOKEN),\n  metrics: (env: Env) =>\n    env.CF_ACCOUNT_ID && env.CF_API_TOKEN\n      ? { accountId: env.CF_ACCOUNT_ID, apiToken: env.CF_API_TOKEN, dataset: 'tsumugi_jobs' }\n      : undefined,\n});\n",[27,595,596,608,612,646,665,681,707,718],{"__ignoreMap":25},[30,597,598,600,602,604,606],{"class":32,"line":33},[30,599,37],{"class":36},[30,601,41],{"class":40},[30,603,44],{"class":36},[30,605,48],{"class":47},[30,607,52],{"class":51},[30,609,610],{"class":32,"line":55},[30,611,58],{"class":51},[30,613,614,617,619,622,625,628,631,634,637,640,643],{"class":32,"line":61},[30,615,616],{"class":51},"  auth: ",[30,618,520],{"class":47},[30,620,621],{"class":51},"((",[30,623,558],{"class":624},"s4XuR",[30,626,627],{"class":36},":",[30,629,630],{"class":47}," Env",[30,632,633],{"class":51},") ",[30,635,636],{"class":36},"=>",[30,638,639],{"class":51}," env.",[30,641,642],{"class":40},"TSUMUGI_TOKEN",[30,644,645],{"class":51},"),\n",[30,647,648,651,654,656,658,660,662],{"class":32,"line":67},[30,649,650],{"class":47},"  metrics",[30,652,653],{"class":51},": (",[30,655,558],{"class":624},[30,657,627],{"class":36},[30,659,630],{"class":47},[30,661,633],{"class":51},[30,663,664],{"class":36},"=>\n",[30,666,667,670,673,676,678],{"class":32,"line":73},[30,668,669],{"class":51},"    env.",[30,671,672],{"class":40},"CF_ACCOUNT_ID",[30,674,675],{"class":36}," &&",[30,677,639],{"class":51},[30,679,680],{"class":40},"CF_API_TOKEN\n",[30,682,683,686,689,691,694,697,700,704],{"class":32,"line":79},[30,684,685],{"class":36},"      ?",[30,687,688],{"class":51}," { accountId: env.",[30,690,672],{"class":40},[30,692,693],{"class":51},", apiToken: env.",[30,695,696],{"class":40},"CF_API_TOKEN",[30,698,699],{"class":51},", dataset: ",[30,701,703],{"class":702},"sZZnC","'tsumugi_jobs'",[30,705,706],{"class":51}," }\n",[30,708,709,712,715],{"class":32,"line":85},[30,710,711],{"class":36},"      :",[30,713,714],{"class":40}," undefined",[30,716,717],{"class":51},",\n",[30,719,720],{"class":32,"line":91},[30,721,130],{"class":51},[132,723,724,726,727,729,732,733,735,738,739,742,743,576,745,747,748,750],{},[27,725,288],{}," configures how the recorded metrics are read from the dashboard and the REST API.",[138,728],{},[27,730,731],{},"apiToken"," is an API token with read permission for Account Analytics. Set it as a Secret.",[138,734],{},[27,736,737],{},"dataset"," is the dataset name written in ",[27,740,741],{},"analytics_engine_datasets"," in the wrangler configuration file.",[138,744],{},[27,746,288],{}," is not specified, ",[27,749,296],{}," responds with 501, and the dashboard sidebar does not show the metrics item.",[15,752,304],{"id":753},"onfailure",[20,755,757],{"className":22,"code":756,"language":24,"meta":25,"style":25},"const tsumugi = defineTsumugi({\n  performers,\n  onFailure: 'NotifyFailure',\n});\n",[27,758,759,771,775,785],{"__ignoreMap":25},[30,760,761,763,765,767,769],{"class":32,"line":33},[30,762,37],{"class":36},[30,764,41],{"class":40},[30,766,44],{"class":36},[30,768,48],{"class":47},[30,770,52],{"class":51},[30,772,773],{"class":32,"line":55},[30,774,58],{"class":51},[30,776,777,780,783],{"class":32,"line":61},[30,778,779],{"class":51},"  onFailure: ",[30,781,782],{"class":702},"'NotifyFailure'",[30,784,717],{"class":51},[30,786,787],{"class":32,"line":67},[30,788,130],{"class":51},[132,790,791,793,794,796,797,148,800,802,803,585,805,148],{},[27,792,304],{}," is the binding name of the performer that is notified of failed jobs.",[138,795],{},"\nThe performer that receives the notification must be one that accepts ",[27,798,799],{},"FailureNotice",[138,801],{},"\nFor the notification conditions and the contents of ",[27,804,799],{},[495,806,808],{"href":807},"\u002Fen\u002Fguide\u002Fexecution#%E5%A4%B1%E6%95%97%E3%81%AE%E9%80%9A%E7%9F%A5","Failure notifications",[15,810,316],{"id":811},"onsettled",[20,813,815],{"className":22,"code":814,"language":24,"meta":25,"style":25},"const tsumugi = defineTsumugi({\n  performers,\n  onSettled: { binding: 'NotifySettled', states: ['COMPLETED', 'FAILED'] },\n});\n",[27,816,817,829,833,855],{"__ignoreMap":25},[30,818,819,821,823,825,827],{"class":32,"line":33},[30,820,37],{"class":36},[30,822,41],{"class":40},[30,824,44],{"class":36},[30,826,48],{"class":47},[30,828,52],{"class":51},[30,830,831],{"class":32,"line":55},[30,832,58],{"class":51},[30,834,835,838,841,844,847,849,852],{"class":32,"line":61},[30,836,837],{"class":51},"  onSettled: { binding: ",[30,839,840],{"class":702},"'NotifySettled'",[30,842,843],{"class":51},", states: [",[30,845,846],{"class":702},"'COMPLETED'",[30,848,358],{"class":51},[30,850,851],{"class":702},"'FAILED'",[30,853,854],{"class":51},"] },\n",[30,856,857],{"class":32,"line":67},[30,858,130],{"class":51},[132,860,861,863,864,866,869,870,148,873,875,878,879,358,882,358,885,470,888,148,891,893,894,148,896,802,898,585,900,148],{},[27,862,316],{}," specifies the binding name of the performer that is notified of finished jobs, and the states to notify.",[138,865],{},[27,867,868],{},"binding"," must be a performer that accepts ",[27,871,872],{},"SettledNotice",[138,874],{},[27,876,877],{},"states"," is required. Choose from ",[27,880,881],{},"COMPLETED",[27,883,884],{},"FAILED",[27,886,887],{},"CANCELLED",[27,889,890],{},"STALLED",[138,892],{},"\nSpecifying an empty array or an invalid state throws an exception in ",[27,895,18],{},[138,897],{},[27,899,872],{},[495,901,903],{"href":902},"\u002Fen\u002Fguide\u002Fexecution#%E7%B5%82%E4%BA%86%E3%81%AE%E9%80%9A%E7%9F%A5","Completion notifications",[15,905,328],{"id":906},"onenqueue",[20,908,910],{"className":22,"code":909,"language":24,"meta":25,"style":25},"const tsumugi = defineTsumugi({\n  performers,\n  onEnqueue: (input) => (input.binding === 'SlowJob' ? { timeoutMs: 300_000 } : undefined),\n});\n",[27,911,912,924,928,969],{"__ignoreMap":25},[30,913,914,916,918,920,922],{"class":32,"line":33},[30,915,37],{"class":36},[30,917,41],{"class":40},[30,919,44],{"class":36},[30,921,48],{"class":47},[30,923,52],{"class":51},[30,925,926],{"class":32,"line":55},[30,927,58],{"class":51},[30,929,930,933,935,938,940,942,945,948,951,954,957,960,963,965,967],{"class":32,"line":61},[30,931,932],{"class":47},"  onEnqueue",[30,934,653],{"class":51},[30,936,937],{"class":624},"input",[30,939,633],{"class":51},[30,941,636],{"class":36},[30,943,944],{"class":51}," (input.binding ",[30,946,947],{"class":36},"===",[30,949,950],{"class":702}," 'SlowJob'",[30,952,953],{"class":36}," ?",[30,955,956],{"class":51}," { timeoutMs: ",[30,958,959],{"class":40},"300_000",[30,961,962],{"class":51}," } ",[30,964,627],{"class":36},[30,966,714],{"class":40},[30,968,645],{"class":51},[30,970,971],{"class":32,"line":67},[30,972,130],{"class":51},[132,974,975,977,978,980,981,983,984,148],{},[27,976,328],{}," is a function that sets default execution options each time a job is enqueued.",[138,979],{},"\nValues explicitly specified by the caller always take precedence.",[138,982],{},"\nFor the enqueue methods it applies to and the options that receive the defaults, see ",[495,985,987],{"href":986},"\u002Fen\u002Fguide\u002Fexecution#%E6%8A%95%E5%85%A5%E6%99%82%E3%81%AE%E6%97%A2%E5%AE%9A%E5%80%A4","Defaults at enqueue time",[15,989,991],{"id":990},"runsettings","RunSettings",[150,993,994,1005],{},[153,995,996],{},[156,997,998,1000,1003],{},[159,999,161],{},[159,1001,1002],{},"Default",[159,1004,167],{},[169,1006,1007,1022,1037,1050],{},[156,1008,1009,1014,1019],{},[174,1010,1011],{},[27,1012,1013],{},"maxNodes",[174,1015,1016],{},[27,1017,1018],{},"10000",[174,1020,1021],{},"Upper limit on the number of nodes in one Run. The Run fails when exceeded",[156,1023,1024,1029,1034],{},[174,1025,1026],{},[27,1027,1028],{},"maxDepth",[174,1030,1031],{},[27,1032,1033],{},"3",[174,1035,1036],{},"Upper limit on subflow nesting. The Run fails when exceeded",[156,1038,1039,1044,1047],{},[174,1040,1041],{},[27,1042,1043],{},"sweepAfterMs",[174,1045,1046],{},"5 minutes",[174,1048,1049],{},"Retention time for finished Runs",[156,1051,1052,1057,1060],{},[174,1053,1054],{},[27,1055,1056],{},"failedRetentionMs",[174,1058,1059],{},"7 days",[174,1061,1062,1063,1065],{},"Retention time for ",[27,1064,884],{}," Runs. Runs within this period can be resumed",[15,1067,1069],{"id":1068},"bindingconfig","BindingConfig",[150,1071,1072,1082],{},[153,1073,1074],{},[156,1075,1076,1078,1080],{},[159,1077,161],{},[159,1079,1002],{},[159,1081,167],{},[169,1083,1084,1103,1116,1131],{},[156,1085,1086,1091,1096],{},[174,1087,1088],{},[27,1089,1090],{},"shards",[174,1092,1093],{},[27,1094,1095],{},"1",[174,1097,1098,1099,1102],{},"Number of shards. ",[27,1100,1101],{},"partitionKey"," is required when this is 2 or more",[156,1104,1105,1110,1113],{},[174,1106,1107],{},[27,1108,1109],{},"policy",[174,1111,1112],{},"See below",[174,1114,1115],{},"Execution limits and aging",[156,1117,1118,1122,1124],{},[174,1119,1120],{},[27,1121,1043],{},[174,1123,1046],{},[174,1125,1062,1126,555,1128,1130],{},[27,1127,881],{},[27,1129,887],{}," jobs",[156,1132,1133,1137,1139],{},[174,1134,1135],{},[27,1136,1056],{},[174,1138,1059],{},[174,1140,1062,1141,555,1143,1145],{},[27,1142,884],{},[27,1144,890],{}," jobs. Jobs within this period can be retried",[15,1147,1148],{"id":1109},"Policy",[150,1150,1151,1161],{},[153,1152,1153],{},[156,1154,1155,1157,1159],{},[159,1156,161],{},[159,1158,1002],{},[159,1160,167],{},[169,1162,1163,1178,1193,1210,1235,1255,1273],{},[156,1164,1165,1170,1175],{},[174,1166,1167],{},[27,1168,1169],{},"paused",[174,1171,1172],{},[27,1173,1174],{},"false",[174,1176,1177],{},"Pauses enqueueing",[156,1179,1180,1185,1190],{},[174,1181,1182],{},[27,1183,1184],{},"concurrency",[174,1186,1187],{},[27,1188,1189],{},"100",[174,1191,1192],{},"Upper limit on concurrent executions",[156,1194,1195,1200,1204],{},[174,1196,1197],{},[27,1198,1199],{},"perKeyConcurrency",[174,1201,1202],{},[27,1203,1095],{},[174,1205,1206,1207],{},"Upper limit on concurrent executions per ",[27,1208,1209],{},"concurrencyKey",[156,1211,1212,1217,1222],{},[174,1213,1214],{},[27,1215,1216],{},"rate",[174,1218,1219],{},[27,1220,1221],{},"null",[174,1223,1224,1227,1228,1231,1232],{},[27,1225,1226],{},"{ tokens, intervalMs }",". Runs up to ",[27,1229,1230],{},"tokens"," jobs per ",[27,1233,1234],{},"intervalMs",[156,1236,1237,1242,1246],{},[174,1238,1239],{},[27,1240,1241],{},"perKeyRate",[174,1243,1244],{},[27,1245,1221],{},[174,1247,1248,1227,1250,1231,1252,1254],{},[27,1249,1226],{},[27,1251,1230],{},[27,1253,1234],{}," for each key",[156,1256,1257,1262,1267],{},[174,1258,1259],{},[27,1260,1261],{},"agingIntervalMs",[174,1263,1264],{},[27,1265,1266],{},"60000",[174,1268,1269,1270,1272],{},"Wait time before the effective priority increases by 1. ",[27,1271,1221],{}," disables aging",[156,1274,1275,1280,1285],{},[174,1276,1277],{},[27,1278,1279],{},"reaperGraceMs",[174,1281,1282],{},[27,1283,1284],{},"30000",[174,1286,1287,1288,1291],{},"Grace period after ",[27,1289,1290],{},"timeoutMs"," elapses before a job that has reported no result is judged unresponsive",[15,1293,1295],{"id":1294},"enqueueinput","EnqueueInput",[150,1297,1298,1308],{},[153,1299,1300],{},[156,1301,1302,1304,1306],{},[159,1303,161],{},[159,1305,1002],{},[159,1307,167],{},[169,1309,1310,1321,1333,1348,1362,1379,1392,1404,1418,1430,1444,1463,1474,1486,1502],{},[156,1311,1312,1316,1318],{},[174,1313,1314],{},[27,1315,868],{},[174,1317],{},[174,1319,1320],{},"Binding name of the target",[156,1322,1323,1328,1330],{},[174,1324,1325],{},[27,1326,1327],{},"payload",[174,1329],{},[174,1331,1332],{},"Value passed to the performer",[156,1334,1335,1340,1345],{},[174,1336,1337],{},[27,1338,1339],{},"priority",[174,1341,1342],{},[27,1343,1344],{},"0",[174,1346,1347],{},"Numeric priority. Higher values run first",[156,1349,1350,1355,1359],{},[174,1351,1352],{},[27,1353,1354],{},"maxAttempts",[174,1356,1357],{},[27,1358,1033],{},[174,1360,1361],{},"Upper limit on the number of attempts",[156,1363,1364,1369,1372],{},[174,1365,1366],{},[27,1367,1368],{},"backoff",[174,1370,1371],{},"exponential",[174,1373,1374,563,1377],{},[27,1375,1376],{},"fixed",[27,1378,1371],{},[156,1380,1381,1385,1389],{},[174,1382,1383],{},[27,1384,1290],{},[174,1386,1387],{},[27,1388,1266],{},[174,1390,1391],{},"Time until timeout",[156,1393,1394,1399,1401],{},[174,1395,1396],{},[27,1397,1398],{},"delayMs",[174,1400],{},[174,1402,1403],{},"Delay before execution starts",[156,1405,1406,1411,1413],{},[174,1407,1408],{},[27,1409,1410],{},"runAt",[174,1412],{},[174,1414,1415,1416],{},"Time at which execution starts. Cannot be specified together with ",[27,1417,1398],{},[156,1419,1420,1425,1427],{},[174,1421,1422],{},[27,1423,1424],{},"expiresInMs",[174,1426],{},[174,1428,1429],{},"Expiration counted from the enqueue time",[156,1431,1432,1437,1439],{},[174,1433,1434],{},[27,1435,1436],{},"expiresAt",[174,1438],{},[174,1440,1441,1442],{},"Expiration time. Takes precedence over ",[27,1443,1424],{},[156,1445,1446,1451,1456],{},[174,1447,1448],{},[27,1449,1450],{},"guarantee",[174,1452,1453],{},[27,1454,1455],{},"at-least-once",[174,1457,1458,563,1460],{},[27,1459,1455],{},[27,1461,1462],{},"at-most-once",[156,1464,1465,1469,1471],{},[174,1466,1467],{},[27,1468,1209],{},[174,1470],{},[174,1472,1473],{},"Key for running jobs with the same key in order",[156,1475,1476,1481,1483],{},[174,1477,1478],{},[27,1479,1480],{},"uniqueKey",[174,1482],{},[174,1484,1485],{},"Key for deduplication",[156,1487,1488,1493,1496],{},[174,1489,1490],{},[27,1491,1492],{},"uniqueForMs",[174,1494,1495],{},"24 hours",[174,1497,1498,1499,1501],{},"Period during which ",[27,1500,1480],{}," is used to detect duplicates",[156,1503,1504,1508,1510],{},[174,1505,1506],{},[27,1507,1101],{},[174,1509],{},[174,1511,1512],{},"Key that determines the target when shards are split",[132,1514,1515,1516,148],{},"For details on the options, see ",[495,1517,498],{"href":1518},"\u002Fen\u002Fguide\u002Fenqueue#%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3",[132,1520,1521,1523,1524,1527,1528,1530,1531,1533,1534,1523,1536,1538,1539,148],{},[27,1522,407],{}," of ",[27,1525,1526],{},"createClient"," takes ",[27,1529,1295],{}," as its argument.",[138,1532],{},"\nFor the input accepted by ",[27,1535,407],{},[27,1537,18],{},", the payload and required-key types are derived for each ",[27,1540,868],{},[335,1542,1544],{"id":1543},"backoffの既定値","Default value of backoff",[20,1546,1548],{"className":22,"code":1547,"language":24,"meta":25,"style":25},"{ kind: 'exponential', baseMs: 1_000, factor: 2, maxMs: 3_600_000, jitter: true }\n",[27,1549,1550],{"__ignoreMap":25},[30,1551,1552,1555,1558,1561,1564,1566,1569,1571,1574,1576,1579,1581,1584,1586,1589,1591,1594,1596,1599,1601,1604],{"class":32,"line":33},[30,1553,1554],{"class":51},"{ ",[30,1556,1557],{"class":47},"kind",[30,1559,1560],{"class":51},": ",[30,1562,1563],{"class":702},"'exponential'",[30,1565,358],{"class":51},[30,1567,1568],{"class":47},"baseMs",[30,1570,1560],{"class":51},[30,1572,1573],{"class":40},"1_000",[30,1575,358],{"class":51},[30,1577,1578],{"class":47},"factor",[30,1580,1560],{"class":51},[30,1582,1583],{"class":40},"2",[30,1585,358],{"class":51},[30,1587,1588],{"class":47},"maxMs",[30,1590,1560],{"class":51},[30,1592,1593],{"class":40},"3_600_000",[30,1595,358],{"class":51},[30,1597,1598],{"class":47},"jitter",[30,1600,1560],{"class":51},[30,1602,1603],{"class":40},"true",[30,1605,706],{"class":51},[15,1607,1609],{"id":1608},"sweepoptions","SweepOptions",[150,1611,1612,1622],{},[153,1613,1614],{},[156,1615,1616,1618,1620],{},[159,1617,161],{},[159,1619,1002],{},[159,1621,167],{},[169,1623,1624,1636],{},[156,1625,1626,1631,1633],{},[174,1627,1628],{},[27,1629,1630],{},"olderThanMs",[174,1632,1059],{},[174,1634,1635],{},"How long finished jobs and Runs remain in lists",[156,1637,1638,1643,1648],{},[174,1639,1640],{},[27,1641,1642],{},"limit",[174,1644,1645],{},[27,1646,1647],{},"1000",[174,1649,1650],{},"Upper limit on the number of items deleted at once. Applied separately to jobs and Runs",[132,1652,1653,1654,1656],{},"When a cron trigger is configured, jobs and Runs that have finished are deleted from lists after ",[27,1655,1630],{}," has elapsed.",[132,1658,1659,1660,148,1662,1664,1665,1667,1668,555,1670,1656,1673,1675,555,1677,1679,1680,1682,1683,1656],{},"The period during which a Run can be resumed is set in ",[27,1661,221],{},[138,1663],{},"\nA ",[27,1666,884],{}," Run is deleted from lists after the longer of ",[27,1669,1630],{},[27,1671,1672],{},"runs.failedRetentionMs",[138,1674],{},[27,1676,884],{},[27,1678,890],{}," jobs are also deleted from lists after the longer of ",[27,1681,1630],{}," and the binding's ",[27,1684,1056],{},[15,1686,1688],{"id":1687},"wranglerのbinding","wrangler bindings",[150,1690,1691,1705],{},[153,1692,1693],{},[156,1694,1695,1697,1700,1702],{},[159,1696,868],{},[159,1698,1699],{},"Type",[159,1701,164],{},[159,1703,1704],{},"Purpose",[169,1706,1707,1722,1737,1752,1767,1782],{},[156,1708,1709,1714,1717,1719],{},[174,1710,1711],{},[27,1712,1713],{},"JOB_SHARD",[174,1715,1716],{},"Durable Object",[174,1718,180],{},[174,1720,1721],{},"Job management",[156,1723,1724,1728,1730,1732],{},[174,1725,1726],{},[27,1727,198],{},[174,1729,1716],{},[174,1731],{},[174,1733,1734,1735],{},"Run management. Required when using ",[27,1736,190],{},[156,1738,1739,1743,1745,1747],{},[174,1740,1741],{},[27,1742,214],{},[174,1744,1716],{},[174,1746],{},[174,1748,1749,1750],{},"Scheduled execution. Required when using ",[27,1751,206],{},[156,1753,1754,1759,1762,1764],{},[174,1755,1756],{},[27,1757,1758],{},"TSUMUGI_DB",[174,1760,1761],{},"D1",[174,1763,180],{},[174,1765,1766],{},"Lists and search",[156,1768,1769,1774,1777,1779],{},[174,1770,1771],{},[27,1772,1773],{},"TSUMUGI_QUEUE",[174,1775,1776],{},"Queues",[174,1778,180],{},[174,1780,1781],{},"Execution of performers",[156,1783,1784,1789,1792,1794],{},[174,1785,1786],{},[27,1787,1788],{},"TSUMUGI_METRICS",[174,1790,1791],{},"Analytics Engine",[174,1793],{},[174,1795,1796],{},"Recording metrics",[132,1798,1799,1800,1802,1803,1805,1806,1808],{},"When ",[27,1801,1788],{}," does not exist, metrics are not recorded.",[138,1804],{},"\nNothing else changes.",[138,1807],{},"\nIf other required bindings are missing, the REST API responds with 503, and the response body includes the list of missing bindings.",[132,1810,1811,1812,1815,1816,1818,1819,1821],{},"A performer specified with ",[27,1813,1814],{},"remote()"," requires a Service Binding.",[138,1817],{},"\nDo not use a fixed name for the binding name; use the key in ",[27,1820,147],{}," as is.",[20,1823,1827],{"className":1824,"code":1825,"language":1826,"meta":25,"style":25},"language-jsonc shiki shiki-themes github-light github-dark","\"services\": [\n  { \"binding\": \"MAIL\", \"service\": \"my-mailer\", \"entrypoint\": \"SendMail\" },\n]\n","jsonc",[27,1828,1829,1837,1873],{"__ignoreMap":25},[30,1830,1831,1834],{"class":32,"line":33},[30,1832,1833],{"class":702},"\"services\"",[30,1835,1836],{"class":51},": [\n",[30,1838,1839,1842,1845,1847,1850,1852,1855,1857,1860,1862,1865,1867,1870],{"class":32,"line":55},[30,1840,1841],{"class":51},"  { ",[30,1843,1844],{"class":40},"\"binding\"",[30,1846,1560],{"class":51},[30,1848,1849],{"class":702},"\"MAIL\"",[30,1851,358],{"class":51},[30,1853,1854],{"class":40},"\"service\"",[30,1856,1560],{"class":51},[30,1858,1859],{"class":702},"\"my-mailer\"",[30,1861,358],{"class":51},[30,1863,1864],{"class":40},"\"entrypoint\"",[30,1866,1560],{"class":51},[30,1868,1869],{"class":702},"\"SendMail\"",[30,1871,1872],{"class":51}," },\n",[30,1874,1875],{"class":32,"line":61},[30,1876,1877],{"class":51},"]\n",[132,1879,1880,1881,1883],{},"A Worker that has no performers and is used only to enqueue jobs needs only the ",[27,1882,1713],{}," binding.",[15,1885,1887],{"id":1886},"サブパス","Subpaths",[150,1889,1890,1899],{},[153,1891,1892],{},[156,1893,1894,1897],{},[159,1895,1896],{},"Import from",[159,1898,167],{},[169,1900,1901,1920,1932,1944,1954,1964],{},[156,1902,1903,1908],{},[174,1904,1905],{},[27,1906,1907],{},"tsumugi",[174,1909,1910,358,1912,358,1914,358,1916,1919],{},[27,1911,18],{},[27,1913,407],{},[27,1915,520],{},[27,1917,1918],{},"TsumugiJobShard",", etc.",[156,1921,1922,1927],{},[174,1923,1924],{},[27,1925,1926],{},"tsumugi\u002Fperformer",[174,1928,1929],{},[27,1930,1931],{},"Performer",[156,1933,1934,1939],{},[174,1935,1936],{},[27,1937,1938],{},"tsumugi\u002Fclient",[174,1940,1941,1943],{},[27,1942,1526],{}," and related types",[156,1945,1946,1950],{},[174,1947,1948],{},[27,1949,268],{},[174,1951,1952],{},[27,1953,264],{},[156,1955,1956,1961],{},[174,1957,1958],{},[27,1959,1960],{},"tsumugi\u002Ftypes",[174,1962,1963],{},"Types only",[156,1965,1966,1971],{},[174,1967,1968],{},[27,1969,1970],{},"tsumugi\u002Ftesting",[174,1972,1973,358,1976,358,1979,1919],{},[27,1974,1975],{},"runPerformer",[27,1977,1978],{},"createTestContext",[27,1980,1981],{},"simulateFlow",[132,1983,1984,1985,148,1987,1989,1990,148,1993,1995,1996,148],{},"The published npm package is ",[27,1986,1907],{},[138,1988],{},"\nRun the setup CLI with ",[27,1991,1992],{},"npx tsumugi",[138,1994],{},"\nFor the list of commands, see ",[495,1997,1999],{"href":1998},"\u002Fen\u002Freference\u002Fcli","CLI",[2001,2002,2003],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}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 .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}",{"title":25,"searchDepth":61,"depth":61,"links":2005},[2006,2009,2010,2011,2012,2013,2014,2015,2016,2017,2020,2021,2022],{"id":17,"depth":55,"text":18,"children":2007},[2008],{"id":337,"depth":61,"text":338},{"id":245,"depth":55,"text":245},{"id":288,"depth":55,"text":288},{"id":753,"depth":55,"text":304},{"id":811,"depth":55,"text":316},{"id":906,"depth":55,"text":328},{"id":990,"depth":55,"text":991},{"id":1068,"depth":55,"text":1069},{"id":1109,"depth":55,"text":1148},{"id":1294,"depth":55,"text":1295,"children":2018},[2019],{"id":1543,"depth":61,"text":1544},{"id":1608,"depth":55,"text":1609},{"id":1687,"depth":55,"text":1688},{"id":1886,"depth":55,"text":1887},"Types and default values of the settings passed to defineTsumugi, and the wrangler binding configuration","md",{},true,"\u002Fen\u002Freference\u002Fconfig","2026-07-22",{"title":6,"description":2023},"en\u002Freference\u002Fconfig","2026-10-30","0_qK4WACEautVV89gxOOyrJ-0miZqpqpnEZvuBL_vyc",false,1794027576777]