[{"data":1,"prerenderedAt":1117},["ShallowReactive",2],{"docs:\u002Fen\u002Fguide\u002Fschedule":3},{"page":4,"untranslated":1116,"translated":1109},{"id":5,"title":6,"body":7,"description":1106,"extension":1107,"meta":1108,"navigation":1109,"path":1110,"publishedAt":1111,"seo":1112,"stem":1113,"updatedAt":1114,"__hash__":1115},"docs_en\u002Fen\u002Fguide\u002Fschedule.md","Scheduled Execution",{"type":8,"value":9,"toc":1089},"minimark",[10,14,23,28,204,250,266,320,359,380,384,395,399,413,415,423,431,474,478,501,541,560,566,570,592,630,651,689,693,705,709,715,724,728,745,749,764,771,774,778,802,815,819,845,849,861,865,877,1025,1041,1085],[11,12,6],"h1",{"id":13},"定期実行",[15,16,17,18,22],"p",{},"Tsumugi runs the jobs and Flows defined in ",[19,20,21],"code",{},"schedules"," at a fixed interval or at times specified by a cron expression.",[24,25,27],"h2",{"id":26},"定義","Definition",[29,30,35],"pre",{"className":31,"code":32,"language":33,"meta":34,"style":34},"language-ts shiki shiki-themes github-light github-dark","const tsumugi = defineTsumugi({\n  performers,\n  flows,\n  schedules: {\n    'poll-inbox': { binding: 'PollInbox', payload: {}, everyMs: 5 * 60 * 1000 },\n    nightly: {\n      flow: 'REPORT',\n      input: ({ scheduledAt }) => ({ until: scheduledAt }),\n      cron: '0 9 * * *',\n      timeZone: 'Asia\u002FTokyo',\n    },\n  },\n  auth: \u002F* ... *\u002F,\n});\n","ts","",[19,36,37,61,67,73,79,112,118,130,152,163,174,180,186,198],{"__ignoreMap":34},[38,39,42,46,50,53,57],"span",{"class":40,"line":41},"line",1,[38,43,45],{"class":44},"szBVR","const",[38,47,49],{"class":48},"sj4cs"," tsumugi",[38,51,52],{"class":44}," =",[38,54,56],{"class":55},"sScJk"," defineTsumugi",[38,58,60],{"class":59},"sVt8B","({\n",[38,62,64],{"class":40,"line":63},2,[38,65,66],{"class":59},"  performers,\n",[38,68,70],{"class":40,"line":69},3,[38,71,72],{"class":59},"  flows,\n",[38,74,76],{"class":40,"line":75},4,[38,77,78],{"class":59},"  schedules: {\n",[38,80,82,86,89,92,95,98,101,104,106,109],{"class":40,"line":81},5,[38,83,85],{"class":84},"sZZnC","    'poll-inbox'",[38,87,88],{"class":59},": { binding: ",[38,90,91],{"class":84},"'PollInbox'",[38,93,94],{"class":59},", payload: {}, everyMs: ",[38,96,97],{"class":48},"5",[38,99,100],{"class":44}," *",[38,102,103],{"class":48}," 60",[38,105,100],{"class":44},[38,107,108],{"class":48}," 1000",[38,110,111],{"class":59}," },\n",[38,113,115],{"class":40,"line":114},6,[38,116,117],{"class":59},"    nightly: {\n",[38,119,121,124,127],{"class":40,"line":120},7,[38,122,123],{"class":59},"      flow: ",[38,125,126],{"class":84},"'REPORT'",[38,128,129],{"class":59},",\n",[38,131,133,136,139,143,146,149],{"class":40,"line":132},8,[38,134,135],{"class":55},"      input",[38,137,138],{"class":59},": ({ ",[38,140,142],{"class":141},"s4XuR","scheduledAt",[38,144,145],{"class":59}," }) ",[38,147,148],{"class":44},"=>",[38,150,151],{"class":59}," ({ until: scheduledAt }),\n",[38,153,155,158,161],{"class":40,"line":154},9,[38,156,157],{"class":59},"      cron: ",[38,159,160],{"class":84},"'0 9 * * *'",[38,162,129],{"class":59},[38,164,166,169,172],{"class":40,"line":165},10,[38,167,168],{"class":59},"      timeZone: ",[38,170,171],{"class":84},"'Asia\u002FTokyo'",[38,173,129],{"class":59},[38,175,177],{"class":40,"line":176},11,[38,178,179],{"class":59},"    },\n",[38,181,183],{"class":40,"line":182},12,[38,184,185],{"class":59},"  },\n",[38,187,189,192,196],{"class":40,"line":188},13,[38,190,191],{"class":59},"  auth: ",[38,193,195],{"class":194},"sJ8bj","\u002F* ... *\u002F",[38,197,129],{"class":59},[38,199,201],{"class":40,"line":200},14,[38,202,203],{"class":59},"});\n",[15,205,206,207,210,211,213,214,217,218,221,222,224,225,227,228,231,232,235,236,231,239,242,243,245,246,249],{},"The key sets the name of a schedule.",[208,209],"br",{},"\nNames may contain alphanumeric characters, hyphens, and underscores, and must be 64 characters or fewer.",[208,212],{},"\nSpecifying ",[19,215,216],{},"binding"," enqueues a job, and specifying ",[19,219,220],{},"flow"," starts a Run.",[208,223],{},"\nSpecify one or the other.",[208,226],{},"\nThe types of ",[19,229,230],{},"payload"," and ",[19,233,234],{},"input"," are derived from ",[19,237,238],{},"performers",[19,240,241],{},"flows",", as they are when you enqueue a standalone job or start a Run.",[208,244],{},"\nIf the target binding has two or more shards, ",[19,247,248],{},"partitionKey"," is also required.",[15,251,252,231,254,256,257,259,260,262,263,265],{},[19,253,230],{},[19,255,234],{}," also accept a function instead of a value.",[208,258],{},"\nA function is called on every execution, and its return value is used.",[208,261],{},"\nThe ",[19,264,142],{}," argument is the scheduled time of that occurrence.",[29,267,269],{"className":31,"code":268,"language":33,"meta":34,"style":34},"{ binding: 'Sync', payload: ({ scheduledAt }) => ({ since: scheduledAt - 60_000 }), everyMs: 60_000 }\n",[19,270,271],{"__ignoreMap":34},[38,272,273,276,278,281,284,287,289,291,293,295,297,300,303,306,309,312,314,317],{"class":40,"line":41},[38,274,275],{"class":59},"{ ",[38,277,216],{"class":55},[38,279,280],{"class":59},": ",[38,282,283],{"class":84},"'Sync'",[38,285,286],{"class":59},", ",[38,288,230],{"class":55},[38,290,138],{"class":59},[38,292,142],{"class":141},[38,294,145],{"class":59},[38,296,148],{"class":44},[38,298,299],{"class":59}," ({ since: scheduledAt ",[38,301,302],{"class":44},"-",[38,304,305],{"class":48}," 60_000",[38,307,308],{"class":59}," }), ",[38,310,311],{"class":55},"everyMs",[38,313,280],{"class":59},[38,315,316],{"class":48},"60_000",[38,318,319],{"class":59}," }\n",[15,321,322,323,286,326,286,329,286,332,335,336,339,340,342,343,339,346,348,349,286,352,355,356,339],{},"A schedule that enqueues jobs can optionally include options such as ",[19,324,325],{},"maxAttempts",[19,327,328],{},"backoff",[19,330,331],{},"timeoutMs",[19,333,334],{},"priority",", and ",[19,337,338],{},"concurrencyKey",".",[208,341],{},"\nA schedule that starts Runs can optionally include ",[19,344,345],{},"deadlineMs",[208,347],{},"\nA schedule definition cannot use ",[19,350,351],{},"uniqueKey",[19,353,354],{},"delayMs",", or ",[19,357,358],{},"runAt",[15,360,361,362,365,366,368,369,231,371,373,374,376,377,379],{},"If a definition is invalid, ",[19,363,364],{},"defineTsumugi"," throws an exception when it is called.",[208,367],{},"\nThis applies when a name violates the naming rules, or when both ",[19,370,216],{},[19,372,220],{}," are specified or neither is.",[208,375],{},"\nAn exception is also thrown when the target binding has two or more shards and ",[19,378,248],{}," is omitted, or when an unsupported option is specified.",[24,381,383],{"id":382},"実行間隔","Execution Interval",[15,385,386,387,231,389,339,392,394],{},"Specify one of ",[19,388,311],{},[19,390,391],{},"cron",[208,393],{},"\nIf you specify both or neither, a definition error occurs.",[396,397,311],"h3",{"id":398},"everyms",[15,400,401,402,339,404,406,407,409,410,412],{},"Specify an integer of 1000 or more (in milliseconds) for ",[19,403,311],{},[208,405],{},"\nIf you specify a value less than 1000, a definition error occurs.",[208,408],{},"\nThe first execution happens one interval after the schedule is registered.",[208,411],{},"\nAfter that, executions happen at times obtained by adding one interval at a time to the first scheduled time.",[396,414,391],{"id":391},[15,416,417,419,420,422],{},[19,418,391],{}," is specified with five fields: minute, hour, day of month, month, and day of week.",[208,421],{},"\nThe precision is one minute, and there are no fields for seconds or years.",[29,424,429],{"className":425,"code":427,"language":428,"meta":34},[426],"language-text","0 3 * * *     Every day at 3:00\n*\u002F15 * * * *  Every 15 minutes\n0 0 1 * *     At 0:00 on the 1st of every month\n0 9 * * 1-5   At 9:00 from Monday to Friday\n","text",[19,430,427],{"__ignoreMap":34},[15,432,433,434,286,437,286,440,335,442,339,445,447,448,231,451,454,455,457,458,460,461,463,464,466,467,470,471,473],{},"The supported syntax is numbers, ",[19,435,436],{},"*",[19,438,439],{},",",[19,441,302],{},[19,443,444],{},"\u002F",[208,446],{},"\nNames such as ",[19,449,450],{},"JAN",[19,452,453],{},"MON"," cannot be used.",[208,456],{},"\nIf you specify an expression that never occurs, such as February 31, a definition error occurs.",[208,459],{},"\nIf you specify both the day of month and the day of week, the schedule runs when either one matches.",[208,462],{},"\nA day-of-month or day-of-week field that starts with ",[19,465,436],{},", such as ",[19,468,469],{},"*\u002F2",", is treated as unspecified.",[208,472],{},"\nIn that case, the schedule runs on days when both the day of month and the day of week match.",[396,475,477],{"id":476},"timezone","timeZone",[15,479,480,481,483,484,486,487,489,490,493,494,496,497,500],{},"If you specify an IANA time zone in ",[19,482,477],{},", that time zone is applied when ",[19,485,391],{}," is interpreted.",[208,488],{},"\nIf omitted, ",[19,491,492],{},"UTC"," is used.",[208,495],{},"\nSpecifying a fixed offset such as ",[19,498,499],{},"+09:00"," causes a definition error.",[29,502,504],{"className":31,"code":503,"language":33,"meta":34,"style":34},"{ binding: 'OpenShop', payload: {}, cron: '0 9 * * 1-5', timeZone: 'Asia\u002FTokyo' }\n",[19,505,506],{"__ignoreMap":34},[38,507,508,510,512,514,517,519,521,524,526,528,531,533,535,537,539],{"class":40,"line":41},[38,509,275],{"class":59},[38,511,216],{"class":55},[38,513,280],{"class":59},[38,515,516],{"class":84},"'OpenShop'",[38,518,286],{"class":59},[38,520,230],{"class":55},[38,522,523],{"class":59},": {}, ",[38,525,391],{"class":55},[38,527,280],{"class":59},[38,529,530],{"class":84},"'0 9 * * 1-5'",[38,532,286],{"class":59},[38,534,477],{"class":55},[38,536,280],{"class":59},[38,538,171],{"class":84},[38,540,319],{"class":59},[15,542,543,544,546,547,339,549,551,552,554,555,557,559],{},"Use ",[19,545,477],{}," together with ",[19,548,391],{},[208,550],{},"\nIf you specify it together with ",[19,553,311],{},", a definition error occurs.",[208,556],{},[19,558,311],{}," is calculated from the difference between times, so it is not affected by time zones.",[15,561,562,563,565],{},"An occurrence whose local time does not exist because of a daylight saving time change is not executed.",[208,564],{},"\nIf the same local time occurs twice, only the first occurrence is executed.",[24,567,569],{"id":568},"前回の実行が終了していない場合","When the Previous Execution Has Not Finished",[15,571,572,575,576,578,579,582,583,586,587,339,589,591],{},[19,573,574],{},"overlap"," specifies what happens when the next scheduled time arrives before the previous execution has completed.",[208,577],{},"\nThe value is either ",[19,580,581],{},"'skip'"," or ",[19,584,585],{},"'overlap'",", and the default is ",[19,588,581],{},[208,590],{},"\nIf you set any other value, a definition error occurs.",[593,594,595,608],"table",{},[596,597,598],"thead",{},[599,600,601,605],"tr",{},[602,603,604],"th",{},"Value",[602,606,607],{},"Behavior",[609,610,611,621],"tbody",{},[599,612,613,618],{},[614,615,616],"td",{},[19,617,581],{},[614,619,620],{},"Skips that occurrence. Default",[599,622,623,627],{},[614,624,625],{},[19,626,585],{},[614,628,629],{},"Executes regardless of the state of the previous execution",[15,631,632,633,286,636,355,639,642,643,645,646,339,648,650],{},"If the previous job is in the ",[19,634,635],{},"SCHEDULED",[19,637,638],{},"QUEUED",[19,640,641],{},"RUNNING"," state, that execution is considered unfinished.",[208,644],{},"\nFor a Run, the previous Run is unfinished if it is ",[19,647,641],{},[208,649],{},"\nThe number of occurrences that were not executed is shown in the dashboard list.",[29,652,654],{"className":31,"code":653,"language":33,"meta":34,"style":34},"{ binding: 'Crawl', payload: {}, everyMs: 60_000, overlap: 'overlap' }\n",[19,655,656],{"__ignoreMap":34},[38,657,658,660,662,664,667,669,671,673,675,677,679,681,683,685,687],{"class":40,"line":41},[38,659,275],{"class":59},[38,661,216],{"class":55},[38,663,280],{"class":59},[38,665,666],{"class":84},"'Crawl'",[38,668,286],{"class":59},[38,670,230],{"class":55},[38,672,523],{"class":59},[38,674,311],{"class":55},[38,676,280],{"class":59},[38,678,316],{"class":48},[38,680,286],{"class":59},[38,682,574],{"class":55},[38,684,280],{"class":59},[38,686,585],{"class":84},[38,688,319],{"class":59},[24,690,692],{"id":691},"実行の遅れ","Execution Delays",[15,694,695,696,698,699,701,702,704],{},"Load or a deployment can cause an execution to run later than its scheduled time.",[208,697],{},"\nIf a delay spans several intervals, the oldest missed occurrence is executed once, and the remaining occurrences are not executed.",[208,700],{},"\nThe next scheduled time is the first scheduled time after the current time.",[208,703],{},"\nEven after a delay, scheduled times remain the first scheduled time plus a multiple of the interval.",[24,706,708],{"id":707},"重複実行の防止","Preventing Duplicate Execution",[15,710,711,712,714],{},"An occurrence with the same scheduled time is never executed twice.",[208,713],{},"\nOn a second execution attempt, no new job or Run is created, and the ID of the existing job or Run is reused.",[15,716,717,718,720,721,723],{},"This mechanism is why ",[19,719,351],{}," cannot be used in a schedule definition.",[208,722],{},"\nIf it were specified, all occurrences within the deduplication window would be treated as the same job as the first one.",[24,725,727],{"id":726},"失敗","Failures",[15,729,730,731,582,733,735,736,738,739,741,742,744],{},"An occurrence is not executed if the ",[19,732,230],{},[19,734,234],{}," function throws an exception.",[208,737],{},"\nAn occurrence is likewise not executed if enqueuing the job or starting the Run fails.",[208,740],{},"\nThe reason for the failure is recorded, and that occurrence is not retried.",[208,743],{},"\nThe failure does not affect the execution of other schedules.",[24,746,748],{"id":747},"一覧","List",[15,750,751,752,754,755,757,758,339,761,763],{},"The ",[19,753,21],{}," tab of the dashboard shows a list of the defined schedules.",[208,756],{},"\nYou can retrieve the same list with ",[19,759,760],{},"GET \u002Fapi\u002Fschedules",[208,762],{},"\nIt includes the next scheduled time, the previous execution, the number of occurrences that were not executed, the reason for the failure, and the pause state.",[15,765,766],{},[767,768],"img",{"alt":769,"src":770},"Schedule list","\u002Fdashboard-schedules.jpg",[15,772,773],{},"Times are displayed together with the IANA time zone set for the schedule and the GMT offset at that time.",[24,775,777],{"id":776},"一時停止と再開","Pausing and Resuming",[15,779,780,781,783,784,231,787,339,790,792,793,795,796,798,799,801],{},"You can pause and resume scheduled execution for each schedule from the ",[19,782,21],{}," tab of the dashboard, or with ",[19,785,786],{},"POST \u002Fapi\u002Fschedules\u002F:name\u002Fpause",[19,788,789],{},"POST \u002Fapi\u002Fschedules\u002F:name\u002Fresume",[208,791],{},"\nWhile a schedule is paused, its executions are suppressed.",[208,794],{},"\nOccurrences whose scheduled time passes during the pause are not executed after the schedule resumes.",[208,797],{},"\nThe first execution after resuming is at the first scheduled time after the moment of resuming.",[208,800],{},"\nJobs that were enqueued before the pause are not affected.",[15,803,804,805,808,809,811,812,814],{},"Pausing a schedule is a separate setting from the ",[19,806,807],{},"paused"," setting of a binding.",[208,810],{},"\nPausing a binding stops the execution of all jobs enqueued to that binding.",[208,813],{},"\nPausing a schedule stops only the executions of that schedule.",[24,816,818],{"id":817},"手動実行","Manual Execution",[15,820,821,822,783,824,339,827,829,830,832,834,835,262,837,839,840,231,842,844],{},"You can run a schedule once at any time with \"Run now\" in the ",[19,823,21],{},[19,825,826],{},"POST \u002Fapi\u002Fschedules\u002F:name\u002Ftrigger",[208,828],{},"\nPaused schedules can also be triggered.",[208,831],{},[19,833,574],{}," is not evaluated, and the next regular execution time does not change.",[208,836],{},[19,838,142],{}," received by the ",[19,841,230],{},[19,843,234],{}," functions is the time of the manual execution.",[24,846,848],{"id":847},"開始条件","Start Conditions",[15,850,851,852,854,855,857,858,860],{},"Scheduled execution starts when the Worker first receives an HTTP request, a queue message, or a cron trigger after deployment.",[208,853],{},"\nAfter that, executions continue even without external calls.",[208,856],{},"\nIn a setup with no external access, the cron trigger that you configure for the list retention period fulfills that role.",[208,859],{},"\nIf you change the definitions and deploy, the changes take effect from the next occurrence.",[24,862,864],{"id":863},"設定","Configuration",[15,866,867,868,870,871,873,874,876],{},"When you specify ",[19,869,21],{},", add the following two entries to your wrangler configuration.",[208,872],{},"\nIf you do not specify ",[19,875,21],{},", these settings are not needed.",[29,878,882],{"className":879,"code":880,"language":881,"meta":34,"style":34},"language-jsonc shiki shiki-themes github-light github-dark","{\n  \"durable_objects\": {\n    \"bindings\": [\n      { \"name\": \"JOB_SHARD\", \"class_name\": \"TsumugiJobShard\" },\n      { \"name\": \"SCHEDULER\", \"class_name\": \"TsumugiScheduler\" },\n    ],\n  },\n  \"migrations\": [\n    { \"tag\": \"v1\", \"new_sqlite_classes\": [\"TsumugiJobShard\"] },\n    { \"tag\": \"v3\", \"new_sqlite_classes\": [\"TsumugiScheduler\"] },\n  ],\n}\n","jsonc",[19,883,884,889,897,905,930,952,957,961,968,994,1015,1020],{"__ignoreMap":34},[38,885,886],{"class":40,"line":41},[38,887,888],{"class":59},"{\n",[38,890,891,894],{"class":40,"line":63},[38,892,893],{"class":48},"  \"durable_objects\"",[38,895,896],{"class":59},": {\n",[38,898,899,902],{"class":40,"line":69},[38,900,901],{"class":48},"    \"bindings\"",[38,903,904],{"class":59},": [\n",[38,906,907,910,913,915,918,920,923,925,928],{"class":40,"line":75},[38,908,909],{"class":59},"      { ",[38,911,912],{"class":48},"\"name\"",[38,914,280],{"class":59},[38,916,917],{"class":84},"\"JOB_SHARD\"",[38,919,286],{"class":59},[38,921,922],{"class":48},"\"class_name\"",[38,924,280],{"class":59},[38,926,927],{"class":84},"\"TsumugiJobShard\"",[38,929,111],{"class":59},[38,931,932,934,936,938,941,943,945,947,950],{"class":40,"line":81},[38,933,909],{"class":59},[38,935,912],{"class":48},[38,937,280],{"class":59},[38,939,940],{"class":84},"\"SCHEDULER\"",[38,942,286],{"class":59},[38,944,922],{"class":48},[38,946,280],{"class":59},[38,948,949],{"class":84},"\"TsumugiScheduler\"",[38,951,111],{"class":59},[38,953,954],{"class":40,"line":114},[38,955,956],{"class":59},"    ],\n",[38,958,959],{"class":40,"line":120},[38,960,185],{"class":59},[38,962,963,966],{"class":40,"line":132},[38,964,965],{"class":48},"  \"migrations\"",[38,967,904],{"class":59},[38,969,970,973,976,978,981,983,986,989,991],{"class":40,"line":154},[38,971,972],{"class":59},"    { ",[38,974,975],{"class":48},"\"tag\"",[38,977,280],{"class":59},[38,979,980],{"class":84},"\"v1\"",[38,982,286],{"class":59},[38,984,985],{"class":48},"\"new_sqlite_classes\"",[38,987,988],{"class":59},": [",[38,990,927],{"class":84},[38,992,993],{"class":59},"] },\n",[38,995,996,998,1000,1002,1005,1007,1009,1011,1013],{"class":40,"line":165},[38,997,972],{"class":59},[38,999,975],{"class":48},[38,1001,280],{"class":59},[38,1003,1004],{"class":84},"\"v3\"",[38,1006,286],{"class":59},[38,1008,985],{"class":48},[38,1010,988],{"class":59},[38,1012,949],{"class":84},[38,1014,993],{"class":59},[38,1016,1017],{"class":40,"line":176},[38,1018,1019],{"class":59},"  ],\n",[38,1021,1022],{"class":40,"line":182},[38,1023,1024],{"class":59},"}\n",[15,1026,1027,1028,1031,1032,1035,1036,339,1038,1040],{},"Export ",[19,1029,1030],{},"TsumugiScheduler"," as a class that extends the ",[19,1033,1034],{},"schedulerClass"," returned by ",[19,1037,364],{},[208,1039],{},"\nThe class name must match the one in the wrangler configuration.",[29,1042,1044],{"className":31,"code":1043,"language":33,"meta":34,"style":34},"export { TsumugiJobShard } from 'tsumugi';\nexport class TsumugiScheduler extends tsumugi.schedulerClass {}\n",[19,1045,1046,1063],{"__ignoreMap":34},[38,1047,1048,1051,1054,1057,1060],{"class":40,"line":41},[38,1049,1050],{"class":44},"export",[38,1052,1053],{"class":59}," { TsumugiJobShard } ",[38,1055,1056],{"class":44},"from",[38,1058,1059],{"class":84}," 'tsumugi'",[38,1061,1062],{"class":59},";\n",[38,1064,1065,1067,1070,1073,1076,1078,1080,1082],{"class":40,"line":63},[38,1066,1050],{"class":44},[38,1068,1069],{"class":44}," class",[38,1071,1072],{"class":55}," TsumugiScheduler",[38,1074,1075],{"class":44}," extends",[38,1077,49],{"class":55},[38,1079,339],{"class":59},[38,1081,1034],{"class":55},[38,1083,1084],{"class":59}," {}\n",[1086,1087,1088],"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 pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}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);}",{"title":34,"searchDepth":69,"depth":69,"links":1090},[1091,1092,1097,1098,1099,1100,1101,1102,1103,1104,1105],{"id":26,"depth":63,"text":27},{"id":382,"depth":63,"text":383,"children":1093},[1094,1095,1096],{"id":398,"depth":69,"text":311},{"id":391,"depth":69,"text":391},{"id":476,"depth":69,"text":477},{"id":568,"depth":63,"text":569},{"id":691,"depth":63,"text":692},{"id":707,"depth":63,"text":708},{"id":726,"depth":63,"text":727},{"id":747,"depth":63,"text":748},{"id":776,"depth":63,"text":777},{"id":817,"depth":63,"text":818},{"id":847,"depth":63,"text":848},{"id":863,"depth":63,"text":864},"How to run jobs and Flows at a fixed interval or at times specified by a cron expression, and how to pause, resume, and manually trigger schedules","md",{},true,"\u002Fen\u002Fguide\u002Fschedule","2026-07-22",{"title":6,"description":1106},"en\u002Fguide\u002Fschedule","2026-10-25","-81pFXgLMAF8QF4aBa6kVvKsQRH2h_hSN0JQi7kGBAk",false,1794027576714]