metafresh logo and link to homepage

de.metas.async

The purpose de.metas.async is to queue up and process tasks on the server side.

To outline how it works, let’s loot at the tables that are involved:

Here is an experimental ascii-Diagram i started working on. Thx to http://stable.ascii-flow.appspot.com/

             +-------------------+
             | C_Queue_Processor |<--+
             |-------------------|   |
             |                   |   |                                         +---------------------------+
             |                   |   |                                      +-+| C_Queue_Element           |
             +-------------------+   |n:n                                   |  |---------------------------|
                                     |                                      |  | C_Queue_WorkPackage_ID    |
                                     |                                      |  | AD_Table_ID               |
 n:1  +--------------------------+   |                                      |  | Record_ID                 |
  +-->| C_Queue_PackageProcessor |<--+                                      |  +---------------------------+
  |   |--------------------------|                                          |
  |   | ClassName                |                                          |
  |   |                          |                                          |  +---------------------------+
  |   +--------------------------+                                          |  | C_Queue_WorkPackage_Param |
  |                                           +---------------------+  1:n  |  |---------------------------|
  |                                           | C_Queue_WorkPackage |<------+--+ C_Queue_WorkPackage_ID    |
  |   +-----------------------------+   1:n   |---------------------|       |  |                           |
  |   | C_Queue_Block               |<---+----| C_Queue_Block_ID    |       |  +---------------------------+
  |   |-----------------------------|         | Prio                |       |
  +---+ C_Queue_PackageProcessor_ID |         | ReadyForProcessing  |       |
      |                             |         | Processed           |       |  +---------------------------+
      +-----------------------------+         | Error               |       |  | C_Queue_WorkPackage_Log   |
                                              | ...                 |       |  |---------------------------|
                                              +---------------------+       +--+ C_Queue_WorkPackage_ID    |
                                                                               |                           |
                                                                               +---------------------------+

Zur Quelldatei auf github.com