
"Slow" issue - Buy tab buying items with large multiple stacks stuck "scanning"
ceylina opened this issue ยท 11 comments
As brought up several times in the the curse comments, buying items with the buy button (buy one / scanning) can pause at "scanning" when you click buy one on a return result containing a large (unknown the exact range of what large consists of) quantity of stacks. For example if you have a seller offering netherweave cloth in stacks of 200 and has 100 stacks for sale, that can hang at "scanning" for an awkward period (as in greater than 30 seconds).
Now stacks of 1 are queued almost instantly but anything past a stack of 1 sits. It eventually allows the buy one to complete but the larger the amount of stacks, the longer the delay
I think in AuctionatorBuy.lua and the function Atr_Buy_Idle () is the start of the code for buying items from the buy tab and buy button
This is the scanning delay in question
Hi,
I cannot give you additional information but I can confirm this bug. Looks like Auctionator wants do "Recan"-Background. If there is not much Auction for the Item I am looking for, it is actually pretty fast.
Besides that, scanning is overall very slow, comparing the release of WoD version of Auctionator. So maybe imporving the scan speed could solve the problem.
Thanks for your work!
@jrob8577 why was this closed? it still often takes about 15-20 seconds to buy items sometimes. the button is greyed out and says "Scanning..." even though you obviously just did a search/scan for the item you're looking at.
Because it's not an auctionator bug, it's the speed with which Blizzard API calls respond, as well as the flexibility of the Blizzard API (for open ended scans, we need to rescan to ensure the item still exists in the AH when you go to buy it).
I see. is there any way to buy many listings of a specific item faster? is there a way to not do an "open ended scan" so that Auctionator doesn't need to rescan when you buy it? the official Blizzard buying UI doesn't take as long between buys (though it's a much less convenient UI in terms of clicking), so one would think there must be a way.
I can look into it again, but this code is really old so I'd be more likely to rewrite to try to fix than to hack to try to fix which means we're looking at weeks of work...
that would be great of course if you have time and energy for it, but otherwise I just thought this issue should be open to track because it seems quite significant. thanks!
Obviously he needs to scan the items/pages again to buy a item. It would also be nice to have something like "(Page X of Y)" in the Buying screen to see at least "some" progress. Sometimes it just looks like it hang itself - then 30 seconds later the buy button appears. ๐
I just downloaded Auctionator and have this same issue. I go to the buy tab, search for an item (in this case it was Tidespray Linen), there were 68 pages that needed scanning (popular item on a populated server -Sargeras). After all 68 pages had been scanned, which took about 5 & 1/2 minutes, I clicked on one to buy it, and it stays stuck on "Scanning...". I mean, I let it sit there and scan for at least 5 minutes, and it never changed from "scanning...".
Note: When I first started writing this comment, I had not realized why I was having the Issue that I was having. But in one of the comments on this page, someone explained that it scans the auction house twice to make sure the item is still there, first during the initial search and second right before you buy the item. I tried searching another item that only had a few listings, and both the initial scan and the second scan were completed in a few seconds. So it makes sense why the second "scanning..." was taking so long. So maybe there could be a faster way for the second scan to finish, especially if you are searching for something with 60+ pages, like maybe it only rescans all the current auctions for the specific item that are listed by that seller.
isn't there a way to just scan the exact stack you're trying to buy? by filtering by an exact price maybe?
Would it be possible to not rescan when one wants to buy, but instead catch whatever error is returned by the API and give the user a message saying that the item/stack is not available anymore? And then let the user decide whether they want to try buying another stack or want to rescan at that point?