hyperf / hyperf/task

在多进程的task任务中,存在获取数据异常问题

Đang mở
#1 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
PHP
Star
9
Fork
2
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

![image](https://user-images.githubusercontent.com/7343318/175453541-e77c600f-359b-410e-ac1c-11f29e2f23bd.png)

遇到一个比较极限的问题,在多进程的task任务中,存在获取数据异常问题。

swoole官方文档上对task_id的产生描述是这样的:
![image](https://user-images.githubusercontent.com/7343318/175453766-14b8ce09-772f-4909-a614-f059fa54d709.png)

根据以上描述可以理解为:在多进程的task任务中,每个task_id在其task进程内是唯一的,其它进程可能是不唯一的,则可以判断此处逻辑存在问题`$result = $this->factory->pop($taskId, $timeout);`

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Start by tracing the `$this->factory->pop($taskId, $timeout)` call and the task_id behavior described in the issue. Reproduce the abnormal data retrieval in a multi-process task, then verify that results are matched to the correct task rather than relying on an identifier that may repeat across task processes.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
php
Lĩnh vực
backend
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.