×

Computer device, method, and apparatus for scheduling business flow

  • US 10,453,010 B2
  • Filed: 05/12/2016
  • Issued: 10/22/2019
  • Est. Priority Date: 11/14/2013
  • Status: Active Grant
First Claim
Patent Images

1. A flow scheduling apparatus configured to execute a flow, wherein the flow comprises at least two tasks, and wherein the flow scheduling apparatus comprises:

  • a memory comprising instructions; and

    a processor coupled to the memory and configured to execute the instructions, which causes the processor to;

    determine that a transaction savepoint is in the flow;

    create an asynchronous task according to the transaction savepoint, wherein the asynchronous task comprises a to-be-scheduled task, and wherein the to-be-scheduled task is scheduled after the transaction savepoint;

    execute, by a first thread, a first transaction comprising a first task in the flow, wherein the first task is scheduled before the transaction savepoint in the flow;

    register a transaction submission event callback listener for the first transaction;

    submit the first transaction executed by the first thread;

    place, by the first thread, the asynchronous task into a to-be-scheduled task queue by listening according to the registered transaction submission event callback listener indicating that the first transaction is submitted successfully;

    obtain, by a second thread, the asynchronous task from the to-be-scheduled task queue;

    execute, by the second thread, a second transaction comprising the asynchronous task;

    persist the asynchronous task;

    store the persisted asynchronous task in a database after the first transaction executed by the first thread is submitted;

    acquire, by a second flow engine process, the asynchronous task from the database when a first flow engine process terminates exceptionally before execution of the asynchronous task is completed, wherein the second thread belongs to the first flow engine process;

    schedule, by the second flow engine process, the asynchronous task; and

    execute, by the second flow engine process, the asynchronous task.

View all claims
  • 6 Assignments
Timeline View
Assignment View
    ×
    ×