SLEEP
The SLEEP
command in DiceDB is used to pause the execution of the current client connection for a specified number of seconds. This command is primarily useful for testing purposes, such as simulating network latency or delaying operations to observe the behavior of other commands in a controlled environment.
Syntax
Parameters
Parameter | Description | Type | Required |
---|---|---|---|
seconds | An integer representing the number of seconds to sleep. Only integers values are allowed. | Integer | Yes |
Return values
Condition | Return Value |
---|---|
Command is successful | OK after specified sleep duration has elapsed |
Syntax or specified datatype is invalid | error |
Behaviour
When the SLEEP
command is executed, the following behavior is observed:
- The client connection that issued the
SLEEP
command will be paused for the specified duration. - During this sleep period, the client will not be able to send or receive any other commands.
- Other clients connected to the DiceDB server will not be affected and can continue to execute commands normally.
- After the sleep duration has elapsed, the client will receive an “OK” response and can resume normal operations.
Errors
The SLEEP
command can raise errors under the following conditions:
-
Invalid Number of Arguments
:- Error Message:
ERR wrong number of arguments for 'sleep' command
- Occurs if the
SLEEP
command is called without the requiredseconds
parameter or with more than one parameter.
- Error Message:
-
Invalid Parameter Type
:- Error Message:
ERR value is not an integer or out of range
- Occurs if the
seconds
parameter is not a valid integer.
- Error Message:
Example Usage
Basic Usage
Pause the client for 5 seconds.
Error Handling - Missing Parameter
Attempt to call SLEEP
without specifying the seconds
parameter.
Error Handling - Invalid Parameter Type
Attempt to call SLEEP
with a non-integer parameter.
Notes
- The
SLEEP
command is a blocking operation for the client that issues it. It does not affect the server’s ability to handle other clients. - This command is useful for testing and debugging purposes but should be used with caution in production environments to avoid unintended delays.