US 11,748,159 B2
Automated job flow cancellation for multiple task routine instance errors in many task computing
Henry Gabriel Victor Bequet, Cary, NC (US); Ronald Earl Stogner, Cary, NC (US); Eric Jian Yang, Morrisville, NC (US); and Chaowang “Ricky” Zhang, Morrisville, NC (US)
Assigned to SAS INSTITUTE INC., Cary, NC (US)
Filed by SAS Institute Inc., Cary, NC (US)
Filed on Dec. 30, 2022, as Appl. No. 18/91,691.
Application 18/091,691 is a continuation of application No. 18/091,569, filed on Dec. 30, 2022.
Application 18/091,569 is a continuation in part of application No. 17/733,196, filed on Apr. 29, 2022.
Application 17/733,196 is a continuation of application No. 17/733,090, filed on Apr. 29, 2022.
Application 17/733,090 is a continuation in part of application No. 17/682,783, filed on Feb. 28, 2022, granted, now 11,474,863.
Application 17/682,783 is a continuation in part of application No. 17/563,697, filed on Dec. 28, 2021, granted, now 11,513,850.
Application 17/563,697 is a continuation of application No. 17/558,237, filed on Dec. 21, 2021, granted, now 11,455,190, issued on Sep. 27, 2022.
Application 17/558,237 is a continuation in part of application No. 17/308,355, filed on May 5, 2021, granted, now 11,204,809, issued on Dec. 21, 2021.
Application 17/308,355 is a continuation of application No. 17/225,023, filed on Apr. 7, 2021, granted, now 11,169,788, issued on Nov. 9, 2021.
Application 17/225,023 is a continuation in part of application No. 17/139,364, filed on Dec. 31, 2020, granted, now 11,144,293, issued on Oct. 12, 2021.
Application 17/139,364 is a continuation in part of application No. 17/064,577, filed on Oct. 6, 2020, granted, now 11,080,031, issued on Aug. 3, 2021.
Application 17/064,577 is a continuation in part of application No. 16/814,481, filed on Mar. 10, 2020, granted, now 10,795,935, issued on Oct. 6, 2020.
Application 16/814,481 is a continuation in part of application No. 16/708,179, filed on Dec. 9, 2019, granted, now 10,740,076, issued on Aug. 11, 2020.
Application 16/708,179 is a continuation in part of application No. 16/587,965, filed on Sep. 30, 2019, granted, now 10,650,046, issued on May 12, 2020.
Claims priority of provisional application 63/336,771, filed on Apr. 29, 2022.
Claims priority of provisional application 63/139,703, filed on Jan. 20, 2021.
Claims priority of provisional application 63/157,419, filed on Mar. 5, 2021.
Claims priority of provisional application 63/159,428, filed on Mar. 10, 2021.
Claims priority of provisional application 63/006,516, filed on Apr. 7, 2020.
Claims priority of provisional application 63/008,830, filed on Apr. 13, 2020.
Claims priority of provisional application 63/015,274, filed on Apr. 24, 2020.
Claims priority of provisional application 63/029,989, filed on May 26, 2020.
Claims priority of provisional application 62/972,240, filed on Feb. 10, 2020.
Claims priority of provisional application 62/985,455, filed on Mar. 5, 2020.
Claims priority of provisional application 62/816,160, filed on Mar. 10, 2019.
Claims priority of provisional application 62/776,691, filed on Dec. 7, 2018.
Claims priority of provisional application 62/739,314, filed on Sep. 30, 2018.
Claims priority of provisional application 63/185,570, filed on May 7, 2021.
Claims priority of provisional application 63/252,070, filed on Oct. 4, 2021.
Prior Publication US 2023/0221988 A1, Jul. 13, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 9/48 (2006.01)
CPC G06F 9/4881 (2013.01) [G06F 9/485 (2013.01)] 27 Claims
OG exemplary drawing
 
1. An apparatus comprising at least one processor and a storage to store instructions that, when executed by the at least one processor, cause the at least one processor to perform operations comprising:
within a kill container, the at least one processor is caused to perform operations comprising:
monitor a task kill queue for error messages that each indicate an occurrence of an error in executing a task routine to perform a task of a set of tasks of a job flow, and for messages that each indicate a successful execution of a task routine to perform a task of the set of tasks;
in response to output, onto the task kill queue, of a first set of error messages indicative of errors in executing multiple instances of a first task routine to perform a first task of the set of tasks with multiple data object blocks of a data object, compare a quantity of error messages within of the first set of error messages to a first predetermined threshold quantity;
in response to a lack of receipt, via the task kill queue, of a message that indicates a successful execution of an instance of the first task routine, and in response to the quantity of error messages within the first set of error messages reaching the first predetermined threshold quantity, output a kill tasks request message that identifies the job flow onto the task kill queue; and
in response to output, onto the task kill queue, of at least one message that indicates a successful execution of an instance of the first task routine, increase the first predetermined threshold quantity or refrain from outputting the kill tasks request message;
within at least one task container of a set of task containers, and in response to the output of the kill tasks request message onto the task kill queue, the at least one processor is caused to perform operations comprising:
cease execution of the first task routine to cancel the performance of the first task; and
output, onto a task queue, a task cancelation message indicative of cessation of execution of the first task routine, and that identifies the first task and the job flow; and
within a performance container, and in response to the output of the task cancelation message onto the task queue, the at least one processor is caused to perform operations comprising:
output a job cancelation message indicative of cancelation of the job flow onto a job queue to cause a transmission of an indication of cancelation of the job flow, via a network, and to a requesting device that requested the performance of the job flow.