This question has been flagged
2900 Views

Hi,

When I run the mrp scheduler from the scheduler it takes about twice as long as running from Warehouse->Schedulers-Compute Schedulers? I have set the priority to 0 in the mrp scheduler in Settings. Why is this the case?

I have run timers on the function calls and it takes many seconds to process some products. My server is fast enough 2xQuad 3.0Ghz Xeon's my RAM is 32G, ssd drives for DB. I have about 4000 products being processed. As the number of products processed increases so does the time taken to process each product. So at the start it is reasonable but as it gets 1000 or so products on the processing time increases. Why is this so?

For an example looking from the bottom up, we can see that this simple creation of a mts manufactured product is taking too long. The mrp.action_compute() is taking a very long time.

_procure_orderpoint_confirm():        #1: qty: 75  START:     50/100 : 1150/4351 
stock: stock.move.action_confirm():   #1:   TIMING::            0.12s
procurement.order.check_produce():    #3:   TIMING::                 0.07s
mrp: procurement.order.make_mo():     #1:   TIMING::                  0.33s
mrp.production.action_compute():      #1:   TIMING::                      13.04s
mrp.production.update_bom():          #1:   TIMING::                           1.52s
mrp.production.update_bom():          #2:   TIMING::                           0.36s
mrp.production.update_bom():          #3:   TIMING::                           1.33s
mrp.production.action_compute():      #2:   TIMING::                       3.21s
mrp.production.test_if_product():     #1:   TIMING::                  17.93s
mrp: procurement.order.make_mo():     #3:   TIMING::             18.45s
_procure_orderpoint_confirm():        #7:   TIMING::        19.74s

In following the procurement I also found that action_compute() is getting called twice. Once specifically and once implicitly via the workflow. This is found in make_mo(): bom_result = production_obj.action_compute() Then: wf_service.trg_validate(uid, 'mrp.production', produce_id, 'button_confirm', cr) Which itself calls production_obj.action_compute() Is this a bug?

Thanks for reading so far. What can I do to speed this up?

Thanks

Grahame

Avatar
Discard