Một vấn đề khó chịu khác từ Magento 2 – hàng đợi để thực hiện các tác vụ như Xuất khẩu sản phẩm hoặc cập nhật rất đơn giản các thuộc tính sản phẩm cho một số sản phẩm cùng một lúc (“hàng loạt”).
Quá trình này rất đơn giản: Bạn muốn thay đổi một hoặc nhiều thuộc tính sản phẩm cho một số sản phẩm. Như với Magento 1 Để thực hiện việc này, hãy nhấp vào các sản phẩm mong muốn trong phần tổng quan về sản phẩm và chọn “Cập nhật các thuộc tính” hoặc. “cập nhật các thuộc tính” từ trình đơn thả xuống. Sau đó, bạn chọn các thuộc tính, người đó muốn thay đổi và thay đổi giá trị.
Bây giờ sau khi nhấp vào Lưu, bạn sẽ quen với nó- thuộc tính tương ứng phải được sửa đổi cho các sản phẩm đã chọn.
Nhưng không phải như vậy với Magento 2. Magento 2 thêm tác vụ này vào hàng đợi để danh sách xử lý được kiểm soát thời gian. Điều này sau đó sẽ được thực hiện bởi cronjob / công việc cron được xử lý, để các nhiệm vụ được hoàn thành một cách kịp thời.
Nhưng đối với chúng tôi, nó cũng ở Magento 2.4.2 tiếp tục như thế này, rằng các thay đổi mong muốn đã không được thực hiện và các thuộc tính của sản phẩm vẫn không thay đổi. Điều này một lần nữa đòi hỏi rất nhiều thời gian và thần kinh cho nghiên cứu, nhưng cuối cùng thì ít nhất cũng có một kết quả chức năng. Và đây là đây:
- Được quản lý bởi bảng điều khiển (SSH) khi lệnh này trong thư mục gốc của Magento “ps aufx | grep cron” – các nhiệm vụ cron hiện tại được hiển thị. Ở đây chúng tôi đã thành lập, rằng công việc đã ở đó nhưng không được thực hiện.
- Magento 2 bị ngăn cản bởi cái gọi là. “ổ khóa” thực hiện nhiều công việc. Các khóa này được lưu trữ trong cơ sở dữ liệu theo mặc định. Ở đây chúng tôi tìm thấy thông tin, ai đã báo cáo vấn đề, khi DB được sử dụng và vì vậy chúng tôi đã cố gắng thay đổi vị trí lưu trữ thành thư mục tệp, để chống lại vấn đề không thực thi.
- Bạn có thể thấy nơi cất giữ ổ khóa, nếu bạn nhìn vào ứng dụng / etc / env.php. Có khoảng. trong dòng 51 một tài liệu tham khảo “'các nhà cung cấp’ => ‘Db’,
- Bạn có thể can thiệp thủ công tại thời điểm này và thay đổi đoạn này:
'lock' => [
'provider' => 'file',
'config' => [
'path' => 'var/locks'
]
],
Nhưng chúng tôi đã làm điều đó với lệnh này trong bảng điều khiển:
bin/magento setup:config:set --lock-provider="file" --lock-file-path="var/locks"
(có thể. bạn vẫn phải tạo thư mục)
5. Sau đó đã được thực hiện, chạy lại cron theo cách thủ công
bin/magento cron:run
Hiện đã có một số trong thư mục / var / lock / (trống) Các tập tin, đại diện cho các tệp khóa.
Lo và kìa – tất cả các bản cập nhật sản phẩm đã được thực hiện.
Cảm ơn bạn rất nhiều vì bài viết này rất hữu ích .