RX0681

Domain: Execution

Error message

%s: %s

In the message, %s marks a value that the engine fills in when it raises the error.

The story

Your rate limit was declared with numbers that make no sense, and rush refused to guess. Here is how the limit works. The rate builtin takes a key, say a user, or an address, and two numbers: a budget, which is how many calls are allowed, and a window, how many milliseconds that budget covers. It then answers whether this call goes over the allowance. For that to mean anything, both numbers must be whole numbers of at least one. A budget of zero means no call is ever allowed, so there is nothing to measure. A window of zero milliseconds is not a window at all, it is an instant. And a fraction, or a negative number, has no meaning here. Rush could round the numbers up, but that would silently change your limit. So it refuses, showing the operand you wrote and the lawful spelling. Often the culprit is a setting that was never filled in and came through as zero. Fix the value, and the limiter works.

Text from the Rush engine's error catalogue.