Code 500 UNEXPECTED_ERROR Too many requests to Open Cloud

recently i notice on dev console, there is many repeating server log

Because it is on live game, i don’t get stack trace so I don’t know what script calls into what api to cause this error.
It is neither error nor warning nor info, just log so it is not reported in ‘Error Report’ either

Hello,

You are currently hitting the limit of 100 Open Cloud requests/minute per server. We are looking into increasing this soon. In the meantime, could you explain your use case (which Open Cloud endpoints you are calling like CreateUserNotification, what your use case is, and why you may be hitting the limit)?

Also, feel free to DM me if that’s easier/more comfortable!

2 Likes

Thank you for reply.

yes i am using it for experience notifications. i i will make some debug prints to see where and when exactly did we send out the notifications.

if i remember correctly, for this game, we send
A. one notification when a new player leave. our funnel show that 95% players stays after they joined, it is a 24max player server, so it is unlikely that this is the cause of it
B. one notification when they lose to boss and then leave. if it sent B it will not send A. because not everyone will lose at the same time, they will leave one by one. not likely the cause
if they won however, they might feel satisfied and many (10-16) may leave at the same time. but this is still far from the 100 requests limit you mentioned. and from the screenshot those errors happen at the same second. which is strange because players wouldn’t leave at the same second

Will the api keep retry sending the notification if it is 500 Too many request?
will it have another limit such as cooldown between two requests for case like: try to send 10 requests because we teleport 10 players to another place at the same time?

How do you have your HTTP requests set up? Do you continuously try to send them if the request response is bad? This may explain why you are reaching the limit.

at my computer now, and just checked. the above i mentioned are all using task.spawn( [send relevant notification] ) to not block the main thread, and they are fire and forget. no looping. it was working fine

EXCEPT i recently added an experimental notification which is like this reference game is doing:
image

my logic is for a new user, send a notification to all their friends
because i don’t know who the friend is opt-in to my experience, i’ll just send it out and let the cloud handle it

	if not player:GetAttribute("NewPlayer") then return end
	task.spawn(function()
		local userId = player.UserId
		local friendPages = Players:GetFriendsAsync(userId)
		while true do
			local data = friendPages:GetCurrentPage()
			for _, item in data do
				SendHelpNewPlayer(item.Id, userId)
			end
			if friendPages.IsFinished then
				break
			end
			friendPages:AdvanceToNextPageAsync()
		end
	end)

now it seems to be the problem, as new players keep coming, they could have a whole lot of friends and it would indeed saturate the limit.

i’ll see what i can do to solve the problem. but thank you YungAK and all to help identified the problem

2 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.