api/laravel/Queue/Middleware/RateLimitedWithRedis.yaml
2024-09-26 02:03:21 -07:00

102 lines
2.3 KiB
YAML

name: RateLimitedWithRedis
class_comment: null
dependencies:
- name: Container
type: class
source: Illuminate\Container\Container
- name: Redis
type: class
source: Illuminate\Contracts\Redis\Factory
- name: DurationLimiter
type: class
source: Illuminate\Redis\Limiters\DurationLimiter
- name: InteractsWithTime
type: class
source: Illuminate\Support\InteractsWithTime
- name: InteractsWithTime
type: class
source: InteractsWithTime
properties:
- name: redis
visibility: protected
comment: '# * The Redis factory implementation.
# *
# * @var \Illuminate\Contracts\Redis\Factory'
- name: decaysAt
visibility: public
comment: '# * The timestamp of the end of the current duration by key.
# *
# * @var array'
methods:
- name: __construct
visibility: public
parameters:
- name: limiterName
comment: "# * The Redis factory implementation.\n# *\n# * @var \\Illuminate\\Contracts\\\
Redis\\Factory\n# */\n# protected $redis;\n# \n# /**\n# * The timestamp of the\
\ end of the current duration by key.\n# *\n# * @var array\n# */\n# public $decaysAt\
\ = [];\n# \n# /**\n# * Create a new middleware instance.\n# *\n# * @param string\
\ $limiterName\n# * @return void"
- name: handleJob
visibility: protected
parameters:
- name: job
- name: next
- name: limits
comment: '# * Handle a rate limited job.
# *
# * @param mixed $job
# * @param callable $next
# * @param array $limits
# * @return mixed'
- name: tooManyAttempts
visibility: protected
parameters:
- name: key
- name: maxAttempts
- name: decaySeconds
comment: '# * Determine if the given key has been "accessed" too many times.
# *
# * @param string $key
# * @param int $maxAttempts
# * @param int $decaySeconds
# * @return bool'
- name: getTimeUntilNextRetry
visibility: protected
parameters:
- name: key
comment: '# * Get the number of seconds that should elapse before the job is retried.
# *
# * @param string $key
# * @return int'
- name: __wakeup
visibility: public
parameters: []
comment: '# * Prepare the object after unserialization.
# *
# * @return void'
traits:
- Illuminate\Container\Container
- Illuminate\Redis\Limiters\DurationLimiter
- Illuminate\Support\InteractsWithTime
- InteractsWithTime
interfaces: []