Pull from list problem

Pull from list problem

patrick_zweekhorst
Advocate Advocate
200 Views
6 Replies
Message 1 of 7

Pull from list problem

patrick_zweekhorst
Advocate
Advocate

[ FlexSim 22.0.0 ]

Hi all,

We have a small problem when pulling tokens from a list. The problem is recreated in the attached example model. First a token tries to pull something from a list, but that will never happen because of the query. This does however create a back order on the list, which seems to be part of the problem. Once that back order is created something is pushed to the list. After this push a token is created to pull something from the list. This token pulls with a max waiter of 0 seconds. But there is something on the list, so we would expect the token to pull something. However, this is not the case. This token is not able to pull something and goes to the second output port. Why is this happening?
Note that the option allow multiple pushed before back order fulfillment is switched on.

Thank you for your time,

Patrick

TestLists.fsm

0 Likes
Accepted solutions (1)
201 Views
6 Replies
Replies (6)
Message 2 of 7

philboboADSK
Autodesk
Autodesk
There's no model attached.


Phil BoBo
Sr. Manager, Software Development
0 Likes
Message 3 of 7

patrick_zweekhorst
Advocate
Advocate
That is correct, I thought I attached it. At least I have done it now
0 Likes
Message 4 of 7

jason_lightfootVL7B4
Autodesk
Autodesk
If you add a delay after the push task, the pull works, so it seems that it's a bug related to waiting for pushes in the same event time where maybe the backorders are cached at the start of the event and can't see the pull that is added at the same event time.
0 Likes
Message 5 of 7

ryan_c10
Not applicable

Hi @Patrick Zweekhorst, was Jason Lightfoot's answer helpful? If so, please click the "Accept" button at the bottom of their answer. Or if you still have questions, add a comment and we'll continue the conversation.

If we haven't heard back from you within 3 business days we'll auto-accept an answer, but you can always unaccept and comment back to reopen your question.

0 Likes
Message 6 of 7

patrick_zweekhorst
Advocate
Advocate

Hi @Jason Lightfoot ,

Adding a delay indeed avoids the problem. In the actual model multiple routes to pull activities are possible, so adding a delay there does not solve the problem.
@Ryan Clark , can you confirm this problem will be added to the dev list to be solved in one of the next releases?

0 Likes
Message 7 of 7

philboboADSK
Autodesk
Autodesk
Accepted solution

If "Allow Multiple Pushes Before Back Order Fulfillment" is checked, then when there is a pending back order fulfillment event, all pull requests will be added as back orders so that the pull requests will be processed in order during that back order fulfillment event.

This is behaving as designed.

Change your Max Wait Timer to 0.0000001 so that it doesn't release the token before the back order fulfillment event has a chance to process it.

"To allow multiple pushes, the list creates an event in effectively zero time after a value is pushed to the list to process back orders. This is "effectively" zero time because the event is not created at exactly the same time as the time the value is pushed. Rather, the event's time will be incremented by the smallest amount representable by a double precision floating point value. This means that all events created at the exact same time as the original push will be executed before the back order fulfillment event, even if those events are created after the original value is pushed. And while the back order fulfillment time is not exactly the same as the push time, it is effectively the same." (emphasis added)

The Back Orders Tab (flexsim.com)

That's why your Max Wait Timer needs to be a value more than 0.0 in this situation.



Phil BoBo
Sr. Manager, Software Development
0 Likes