DurationLimiter
class DurationLimiter (View source)
Properties
| int | $decaysAt | The timestamp of the end of the current duration.  | 
                |
| int | $remaining | The number of remaining slots.  | 
                
Methods
                    void
                
                
                    __construct(Connection $redis, string $name, int $maxLocks, int $decay)
        
                                            
                
            Create a new duration limiter instance.
                    mixed
                
                
                    block(int $timeout, callable|null $callback = null)
        
                                            
                
            Attempt to acquire the lock for the given number of seconds.
                    bool
                
                
                    acquire()
        
                                            
                
            Attempt to acquire the lock.
                    string
                
                
                    luaScript()
        
                                            
                
            Get the Lua script for acquiring a lock.
Details
        
                            void
    __construct(Connection $redis, string $name, int $maxLocks, int $decay)
        
    
    Create a new duration limiter instance.
        
                            mixed
    block(int $timeout, callable|null $callback = null)
        
    
    Attempt to acquire the lock for the given number of seconds.
        
                            bool
    acquire()
        
    
    Attempt to acquire the lock.
        
                    protected        string
    luaScript()
        
    
    Get the Lua script for acquiring a lock.
KEYS[1] - The limiter name ARGV[1] - Current time in microseconds ARGV[2] - Current time in seconds ARGV[3] - Duration of the bucket ARGV[4] - Allowed number of tasks