Skip to content

Commit

Permalink
update translation in zh-CN
Browse files Browse the repository at this point in the history
  • Loading branch information
coderltf authored Apr 24, 2024
1 parent 6df01d5 commit 0704bae
Showing 1 changed file with 14 additions and 9 deletions.
23 changes: 14 additions & 9 deletions docs/guide-zh-CN/retryable.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
错误与重复执行
=========================

在作业处理期间可以抛出异常。 当请求的服务和外部资源不可用时,由于代码编写的比较糟糕而导致的内部错误
在第二种情况下,可以在一段时间后重新尝试这个作业
作业的执行可能会失败。这可能是由于内部错误造成的,这些错误是由编写不当的代码导致的,应该首先修复。但是,它们也可能由于外部问题(例如服务或资源不可用)而失败。这可能会导致异常或超时
在后一种情况下,最好能够在一段时间后重试作业。有几种方法可以做到这一点

有几种方法可以做到这一点
>注意:下面描述的 ttr 功能需要安装 [PHP Process Control (pcntl)](https://www.php.net/manual/en/book.pcntl.php) 扩展,并且 worker 命令必须使用 --isolate 选项(默认启用)
重试选项
-------------
Expand All @@ -21,7 +21,12 @@
],
```

`ttr` 选项设置了在队列中保留工作的时间。如果一份作业在这段时间没有执行,它将返回队列进行重试。
`ttr` 选项设置了作业必须成功完成的秒数。因此,可能会发生两件事来使工作失败:
1. 作业在`ttr`结束之前发生异常
2. 完成作业所需的时间将比 ttr 长(超时),工作线程停止作业执行

在这两种情况下,作业都将发送回队列进行重试。但请注意,在第一种情况下,即使作业在运行后立即停止,也不会立即重试,要等到`ttr`"用完"。也就是说,在将作业发送回队列之前,必须经过剩余的 ttr 秒数。

`attempts` 选项设置了最大的尝试次数。如果尝试已经结束,作业作还没有完成,它将从队列中移除。

这种将全局设置队列中的所有作业,如果您需要为多个作业进行不同的设置可以使用,
Expand All @@ -30,7 +35,7 @@
重试作业接口
----------------------

Separate control of retry is implemented by `RetryableJobInterface` 接口。 示例:
为了更好地控制重试逻辑,作业可以实现 `RetryableJobInterface` 接口。 示例:

```php
class SomeJob extends BaseObject implements RetryableJobInterface
Expand Down Expand Up @@ -85,14 +90,14 @@ Yii::$app->queue->on(Queue::EVENT_AFTER_ERROR, function (ExecEvent $event) {
限制
------------

完全支持 [Beanstalk], [DB], [File][Redis] 驱动程序的重试工具
[Sync] 驱动不会重试失败的工作 [Gearman] 不支持重试
[RabbitMQ] 基本版支持,但重试编号无法得到
[Beanstalk], [DB], [File][Redis] 驱动程序实现了对可重试作业的完全支持
[Sync] 驱动不会重试失败的作业 [Gearman] 不支持重试作业
[RabbitMQ] 只有其基本的可重试支持,其中无法设置尝试次数

[Beanstalk]: driver-beanstalk.md
[DB]: driver-db.md
[File]: driver-file.md
[Redis]: driver-redis.md
[Sync]: driver-sync.md
[Gearman]: driver-gearman.md
[RabbitMQ]: driver-amqp.md
[RabbitMQ]: driver-amqp.md

0 comments on commit 0704bae

Please sign in to comment.