Queue Equation Contents

Post Reply
velcro
Posts:31
Joined:Thu Apr 15, 2010 8:49 am
First Name:Steve
Last Name:Cohen
Queue Equation Contents

Post by velcro » Wed Sep 02, 2020 11:45 am

I am working with Queue Equations, and it does not seem like items are released when they should be.
I have an item entering with a binDept attribute. If the cart is present for that department, (as shown in a database record) then the item is released.

My logic looks like this (simplified):
if(cartPresent==1){
iRank_0 = TRUE;
}
else{
iRank_0=BLANK;
}

At time 54, the historical log in the Contents tab shows 2 items entering and leaving, so it seems to be working
Entry Time_Exit Time_binDept
0_________ 0_________1
44_________44________3

Time 55 looks like this:
Entry Time_ Exit Time_binDept
0_________ 0_________1
44_________44________3
54___________________1

The current contents at that time have one item, with binDept=1. That makes sense.

But it seems as if the equation did not run for the following reasons:
-Debugging is on with a break point at the logic listed above. It stops at time 0 and 44, but not 54.
-The Input variables in the Queue tab still show Attribute binDept value =3.
-When the item enters at time 54, the variable cartPresent does in fact equal 1, so it should release. It was equal to 1 since time 7.

I have the options set to calculate ranking when item enters (among other criteria), and to release all True ranked items.

Any thoughts?

(submitted to support@extendsim too, but prefer discussing it here where other people can benefit)

ceciledamiron
Posts:60
Joined:Wed Jul 02, 2008 12:10 pm
First Name:Cecile
Last Name:Damiron

Re: Queue Equation Contents

Post by ceciledamiron » Tue Sep 08, 2020 12:37 pm

Hello Steve,

If items are blocked downstream in the Queue equation there is no calculation made in the block.

The purpose of the queue Equation block is to organize the release of items, the equation dose not execute if the queue is blocked downstream.

The Queue Equation can be computationally intensive because it executes the code for each item stored in the block, so it makes sense to limit unnecessary executions.

Cecile

Post Reply