Systems and methods for implementing bulk handling in asynchronous processing
First Claim
1. A system to execute within a host organization, wherein the system comprises:
- a processor and a memory;
wherein the system executes instructions via the processor and memory which cause the system to perform the following operations;
receiving messages at a message broker;
enqueuing the received messages within a message queue of the message broker;
establishing a push connection from the broker to a thread and pushing an initial message from the message queue to the thread and processing the initial message via the thread;
establishing a pull connection from the thread to the broker and requesting one or more additional messages from the message queue, and bulk processing the one or more additional messages with the initial message from the broker;
issuing a database query via a query interface by issuing the database query from the thread to a data store, wherein the database query specifies the initial message and the one or more additional messages as a set of messages and obtaining a lock for the set of messages; and
handling, via a message processing engine, by processing the set of messages in bulk when the lock for the set of messages is obtained and re-enqueuing any of the set of messages for which the lock is not obtained.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for implementing bulk handling in asynchronous processing are described. For example, an exemplary system includes a processor and a memory to execute instructions at the system; a broker to enqueue received messages; a push connection from the broker to a thread, in which the broker is to push an initial message to the thread for processing; a pull connection from the thread to the broker, in which the thread is to request one or more additional messages for bulk processing with the initial message from the broker; a query interface to issue a database query from the thread to a data store, the database query specifying the initial message and the one or more additional messages as a set of messages to obtain a lock for the set of messages; and a message processing engine to handle the set of messages in bulk based on whether the lock for the set of messages is obtained.
130 Citations
25 Claims
-
1. A system to execute within a host organization, wherein the system comprises:
-
a processor and a memory; wherein the system executes instructions via the processor and memory which cause the system to perform the following operations; receiving messages at a message broker; enqueuing the received messages within a message queue of the message broker; establishing a push connection from the broker to a thread and pushing an initial message from the message queue to the thread and processing the initial message via the thread; establishing a pull connection from the thread to the broker and requesting one or more additional messages from the message queue, and bulk processing the one or more additional messages with the initial message from the broker; issuing a database query via a query interface by issuing the database query from the thread to a data store, wherein the database query specifies the initial message and the one or more additional messages as a set of messages and obtaining a lock for the set of messages; and handling, via a message processing engine, by processing the set of messages in bulk when the lock for the set of messages is obtained and re-enqueuing any of the set of messages for which the lock is not obtained. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method executing within a system of a host organization, the system having a processor and a memory therein executing instructions within the system, wherein the method comprises:
-
receiving messages at a message broker; enqueuing the received messages within a message queue of the message broker; establishing a push connection from the broker to a thread and pushing an initial message from the message queue to the thread and processing the initial message via the thread; establishing a pull connection from the thread to the broker and requesting one or more additional messages from the message queue, and bulk processing the one or more additional messages with the initial message from the broker; issuing a database query via a query interface by issuing the database query from the thread to a data store, wherein the database query specifies the initial message and the one or more additional messages as a set of messages and obtaining a lock for the set of messages; and handling, via a message processing engine, by processing the set of messages in bulk when the lock for the set of messages is obtained and re-enqueuing any of the set of messages for which the lock is not obtained. - View Dependent Claims (19, 20, 21, 22, 23)
-
-
24. Non-transitory computer readable storage media having instructions stored thereon that, when executed by a processor of a system, the instructions cause the system to perform operations comprising:
-
receiving messages at a message broker; enqueuing the received messages within a message queue of the message broker; establishing a push connection from the broker to a thread and pushing an initial message from the message queue to the thread and processing the initial message via the thread; establishing a pull connection from the thread to the broker and requesting one or more additional messages from the message queue, and bulk processing the one or more additional messages with the initial message from the broker; issuing a database query via a query interface by issuing the database query from the thread to a data store, wherein the database query specifies the initial message and the one or more additional messages as a set of messages and obtaining a lock for the set of messages; and handling, via a message processing engine, by processing the set of messages in bulk when the lock for the set of messages is obtained and re-enqueuing any of the set of messages for which the lock is not obtained. - View Dependent Claims (25)
-
Specification