I'm being throttled??

Jun 10, 2009 at 4:06 PM

I'm using the GetTasks function in IronCow and my account is being throttled. I was developing an Outlook/RTM sync product for personal use, and I have a hard time believing that I am going over the 1 request per second. Anyone else have this issue?

Any advice/ideas would be appreciated.

Jun 10, 2009 at 7:35 PM

OK> well, now I'm wondering what's going on..... The throttling is occurring within IronCow, not from RTM, and it appears that on the rtm.tasks.getList I am stuck in an infinite loop. It just keeps loading over and over and over, and is leaving me stuck. The immediate window shows the following:

IronCow Verbose: 0 : Got response for 'rtm.tasks.getList' in 1506ms.
IronCow Verbose: 0 : Throttling RTM request for 990.9974ms.

and it's just repeating this over and over and over.

Not sure what I did, since this WAS working earlier, but something has gone awry. Thanks.



Jun 10, 2009 at 7:36 PM

One last bit of info: the line of code that it's getting stuck on is as follows:

Dim rtmTasks as IronCow.Task() = myRtm.GetTasks("")


Jun 11, 2009 at 2:32 AM


Thanks for reporting this. Due to real life stuff I can't offer a lot of support right now, but here's some info so you can figure out what's happening.

There is indeed some throttling code built into IronCow because the terms of use of RTM state that we should limit the number of requests to one per second. I believe you can turn the throttling off, though, but I could be mistaken (or I could have forgotten to expose a setting for that in the public API).

The throttling code *may* be bugged, as it's fairly new, so you could have run into an untested problem. Also, the throttling code *may* not be thread safe, although I use it in a multi-threaded application without problems so far.

Now, looking at your problem, my guess is that's it's another bug, unrelated to throttling, that would force IronCow to re-download tasks over and over again from the server for some reason, but I could be wrong... could you link your application with the debug version of IronCow and trace that scenario in IronCow's source code?

Sorry I can't be of any help for the next few weeks...

Jun 11, 2009 at 2:36 AM

Btw, note that I'm working on a branch that makes IronCow operate on locally cached (in memory) tasks to avoid the throttling problem altogether (if you IronCow or your application doesn't throttle requests, the RTM server will start returning errors). The idea is to download everything (or at least a big part of the data) from RTM in one go, and then operate against it. No ETA on that, though.

Jun 11, 2009 at 9:55 AM

thanks ludovic. there is indeed a bug somewhere in the throttling code that is causing the getTasks to get stuck in an endless loop somewhere. :) I'll upgrade to your cached version when it's out, however, for right now, I think i'm going to go back to the release that I loaded in November. 

I did DL the source code, and haven't totally figured out the source of the bug, but if I have time, I may work on it later this weekend to see if I can fix it. If I do, i'll post the changes here for you. (and I totally understand about the real life thing.. darn. It gets in the way sometimes. :) )

Thanks for your help, and i'm looking forward to the new version.