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

209 lines
5.2 KiB
YAML

name: ThrottlesExceptions
class_comment: null
dependencies:
- name: RateLimiter
type: class
source: Illuminate\Cache\RateLimiter
- name: Container
type: class
source: Illuminate\Container\Container
- name: Throwable
type: class
source: Throwable
properties:
- name: key
visibility: protected
comment: '# * The developer specified key that the rate limiter should use.
# *
# * @var string'
- name: byJob
visibility: protected
comment: '# * Indicates whether the throttle key should use the job''s UUID.
# *
# * @var bool'
- name: maxAttempts
visibility: protected
comment: '# * The maximum number of attempts allowed before rate limiting applies.
# *
# * @var int'
- name: decaySeconds
visibility: protected
comment: '# * The number of seconds until the maximum attempts are reset.
# *
# * @var int'
- name: retryAfterMinutes
visibility: protected
comment: '# * The number of minutes to wait before retrying the job after an exception.
# *
# * @var int'
- name: reportCallback
visibility: protected
comment: '# * The callback that determines if the exception should be reported.
# *
# * @var callable'
- name: whenCallback
visibility: protected
comment: '# * The callback that determines if rate limiting should apply.
# *
# * @var callable'
- name: prefix
visibility: protected
comment: '# * The prefix of the rate limiter key.
# *
# * @var string'
- name: limiter
visibility: protected
comment: '# * The rate limiter instance.
# *
# * @var \Illuminate\Cache\RateLimiter'
methods:
- name: __construct
visibility: public
parameters:
- name: maxAttempts
default: '10'
- name: decaySeconds
default: '600'
comment: "# * The developer specified key that the rate limiter should use.\n# *\n\
# * @var string\n# */\n# protected $key;\n# \n# /**\n# * Indicates whether the\
\ throttle key should use the job's UUID.\n# *\n# * @var bool\n# */\n# protected\
\ $byJob = false;\n# \n# /**\n# * The maximum number of attempts allowed before\
\ rate limiting applies.\n# *\n# * @var int\n# */\n# protected $maxAttempts;\n\
# \n# /**\n# * The number of seconds until the maximum attempts are reset.\n#\
\ *\n# * @var int\n# */\n# protected $decaySeconds;\n# \n# /**\n# * The number\
\ of minutes to wait before retrying the job after an exception.\n# *\n# * @var\
\ int\n# */\n# protected $retryAfterMinutes = 0;\n# \n# /**\n# * The callback\
\ that determines if the exception should be reported.\n# *\n# * @var callable\n\
# */\n# protected $reportCallback;\n# \n# /**\n# * The callback that determines\
\ if rate limiting should apply.\n# *\n# * @var callable\n# */\n# protected $whenCallback;\n\
# \n# /**\n# * The prefix of the rate limiter key.\n# *\n# * @var string\n# */\n\
# protected $prefix = 'laravel_throttles_exceptions:';\n# \n# /**\n# * The rate\
\ limiter instance.\n# *\n# * @var \\Illuminate\\Cache\\RateLimiter\n# */\n# protected\
\ $limiter;\n# \n# /**\n# * Create a new middleware instance.\n# *\n# * @param\
\ int $maxAttempts\n# * @param int $decaySeconds\n# * @return void"
- name: handle
visibility: public
parameters:
- name: job
- name: next
comment: '# * Process the job.
# *
# * @param mixed $job
# * @param callable $next
# * @return mixed'
- name: when
visibility: public
parameters:
- name: callback
comment: '# * Specify a callback that should determine if rate limiting behavior
should apply.
# *
# * @param callable $callback
# * @return $this'
- name: withPrefix
visibility: public
parameters:
- name: prefix
comment: '# * Set the prefix of the rate limiter key.
# *
# * @param string $prefix
# * @return $this'
- name: backoff
visibility: public
parameters:
- name: backoff
comment: '# * Specify the number of minutes a job should be delayed when it is released
(before it has reached its max exceptions).
# *
# * @param int $backoff
# * @return $this'
- name: getKey
visibility: protected
parameters:
- name: job
comment: '# * Get the cache key associated for the rate limiter.
# *
# * @param mixed $job
# * @return string'
- name: by
visibility: public
parameters:
- name: key
comment: '# * Set the value that the rate limiter should be keyed by.
# *
# * @param string $key
# * @return $this'
- name: byJob
visibility: public
parameters: []
comment: '# * Indicate that the throttle key should use the job''s UUID.
# *
# * @return $this'
- name: report
visibility: public
parameters:
- name: callback
default: 'null'
comment: '# * Report exceptions and optionally specify a callback that determines
if the exception should be reported.
# *
# * @param callable|null $callback
# * @return $this'
- 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'
traits:
- Illuminate\Cache\RateLimiter
- Illuminate\Container\Container
- Throwable
interfaces: []