New Queue module in the app store

10
Hi fellow Mendix developers, Last months I took the time to build a lightweight Mendix Queue module from scratch. I used the existing Process Queue module very often in projects, but missed some features and the module shows unexpected behavior in some situations (for instance when deleting a queued job). In addition, I wanted to unit test (using JUnit and Mockito) logic with 100% coverage, which allows us to ensure proper functioning in future releases. Specific features are: Easy to implement Jobs can be scheduled using a pre-configured delay in a user-defined time unit Jobs are retried (not FIFO by default, they are re-added to the beginning of the queue) after an error with an increasing delay (using exponential backoff) Queued jobs can be removed from the queue (cancelled) Running jobs can be aborted Minimized database interactions (queue itself is not persistent and the microflow to execute is stored as a Job attribute) In case of an error, the error handling behavior specified in the microflow is applied (in contrast to the Process Queue). An error without rollback will result in the changes being committed, but the Job receiving the status Error   Please let me know what you think and what features you miss! I will try to keep the queue lightweight. For instance, a Job audit trail is not implemented, but can be easily added by creating a specialization of the Job entity and implement events/associated entities.  
asked
5 answers
1

Hi Menno,

Good to hear you created an improved module! I agree that the Process Queue module has not always been the best. It has improved in the last year quite a bit, though. One module to rule them all would be even better, so:

Can your improvements also be added to the Mendix Process Queue module? 

Hope it can since a lot of partners and customers use this module extensively. If both modules cater for the same functionality then it is better to have only one module for this. I will gladly use yours if this is the way to go, but that needs to be decided I think.

 

answered
1

Just asked Mendix what they think about merging functionalities.

answered
0

I see the module is downloaded 8 times already. Can anyone share his/her first experiences?

answered
0

Hi Ivo,

Totally agree with you. Existing implementations of the process queue have to re-implement the changes resulting from it. It's easier to just swap the queue modules.

Menno

answered
0

Thanks for all your feedback! Just released patch with some fixes.

answered