Something wrong with API this morning?

I am getting “ranking system not found” for all my ranking systems.

Confirmed. There was a new release this AM to allow concurrent API requests. Should be a quick fix. Thanks

2 Likes

Can you tell me and Claude (Cowork) how we might want to modify our code to efficiently use “concurrent API requests?”

Claude said this:

One thing to test cautiously before assuming it works at high concurrency:

The forum announcement says "allow" without specifying limits. There's almost certainly an undocumented per-account concurrent-request ceiling — typically 4-10 for most APIs. We'd want to:

Sounds like a great addition!!! Any specifics or recommendation on how to use this new feature would be helpful. Thank you!

The new concurrency limit is 4.

1 Like

Great - Concurrent API requests? Is this available now or in progress?

“ranking system not found” should be fixed now, thanks for reporting.

Concurrency should work now

As in running 4 API requests/simulations at the same time? I get “API Error: 409 ERROR: You have a 'Screen Performance' request in progress. Please try again later.” when I send a second request through.

We'll investigate. Did you try parallelism with other endpoints? Did you try other endpoints?

This issues should be resolved now, it was only affecting running multiple screen backtests in parallel. Thanks for reporting!

FYI it looks like parallelism does not work with the strategy/id/rerun endpoint.

I get HTTP 409 errors.

Thanks for the report. Our engineering team reviewed the API logs from your session and confirmed that concurrency does work. We could see you successfully reaching up to 4 concurrent requests. So the endpoint is functioning as intended in that regard.

That said, we were unable to reproduce the 409 errors ourselves. Our suspicion is that there's a latency issue in how the concurrency counter gets decremented after a response is sent.

As a short-term workaround, we recommend adding a brief delay between calls.

Thanks for checking Walter.

I realized running parallel calls for strategy/id/rerun does not make sense (at least for my use case).

I was testing multiple versions of the same strategy id with different ranking systems.

A POST strategy/id/rerun had to be followed by GET strategy/id in order to retrieve the results.

But when run in parallel, there was no guarantee that the results received were for the correct test (i.e. tests and results were jumbled up).

For future consideration - ideally, the rerun endpoint also returns the strategy’s results (instead of an empty response - alternatively, it returns a unique run-id that we can separately GET).

Also, maybe concurrency with the same strategy id was related to the 409’s I saw (?), as I have not noticed issues with concurrency with other endpoints, even without any latency buffer.

Thanks again.