Tại sao Magento 2.1.2 cron: run cung cấp chỉ mục Không xác định: công việc?


13

Khi chạy:

/usr/bin/php /var/www/magento2/bin/magento cron:run | grep -v "Ran jobs by schedule" >> /var/www/magento2/var/log/magento.cron.log

Tôi có:

[Exception]                                                                  
  Notice: Undefined index: jobs in /home/ubuntu/repo/project/vendor/magento/
               module-cron/Model/Config/Converter/Db.php on line 39  

Nhật ký cron nói gì?
— Aivis Zvezdovs

Có lỗi trong update.log:setup-cron.ERROR: Database 'my-db' does not exist or specified database server user does not have privileges to access this database.
— Stevie G

Vì vậy, vấn đề là công cụ di chuyển dữ liệu đã thêm các mục cron ở cấp độ sai: delete from core_config_data where path like 'crontab/jobs%'; cộng
— Stevie G

Đã khắc phục sự cố đầu tiên nhưng hiện đang chạy php /var/www/shootingstuff/update/cron.phpchoPHP Warning: require_once(/dir/update/vendor/autoload.php): failed to open stream: No such file or directory in /dir/update/app/bootstrap.php on line 15 PHP Fatal error: require_once(): Failed opening required '/dir/update/vendor/autoload.php' (include_path='.:/usr/share/php') in /dir/update/app/bootstrap.php on line 15
— Stevie G

Câu trả lời:


34

Trong trường hợp của tôi, đó là do một số công việc định kỳ được di chuyển từ Magento 1, trong core_config_data. Magento 2 hy vọng định dạng sẽ là crontab/{groupname}/jobs/{code}, trong khi những người nhập khẩu bỏ lỡ tên nhóm (nghĩa là mặc định). Nếu đó là trường hợp của bạn, bạn có thể muốn xóa các mục sai core_config_datahoặc cập nhật chúng để ánh xạ các công việc định kỳ mới.


3
Bạn có thể cần phải xóa tất cả các mục crontab khỏi core_config_databảng và sau đó chạy php bin/magento setup:upgrade.
— Ndianabasi

1
bin/magento ca:fl configlà đủ cho tôi
— Shapeshifter

Bạn đúng! Nó thực sự có trong core_config_data vì trang web này mà tôi đang làm việc đã được di chuyển trước đó từ M1 sang M2.1, Cảm ơn một lần nữa!
— MazeStricks

2
Đã xóa 202 mục :) DELETE FROM core_config_data WHERE path LIKE 'crontab/%' AND path NOT LIKE 'crontab/default%' AND config_id > 0Tôi cần phần cuối cùng AND config_id > 0vì chế độ an toàn.
— Damodar Bashyal

1
Cảm ơn @DamodarBashyal đã chia sẻ truy vấn.
— chirag dodia

4

Tôi có cùng một lỗi. Đây là lỗi khi di chuyển từ Magento 1 sang Magento 2. Vì vậy, tôi đã sửa nó bằng cách xóa tất cả các hàng có "đường dẫn" bắt đầu bằng "crobtab" trong bảng "core_config_data".

Sau đó chạy này: php bin / magento setup: nâng cấp

Và sửa lỗi. Magento 2 sẽ tạo ra tất cả các cronjobs một lần nữa.


cảm ơn nó đã làm việc cho tôi
— biplab thường xuyên

3

Như RCason đã nói: vấn đề này là do di chuyển từ Magento 1 sang Magento 2. Sau khi xóa khỏi "core _config_data", tất cả các giá trị bắt đầu bằng crontab / mặc định ... (trong Đường dẫn cấu hình), vấn đề đã được giải quyết và công việc cron M2 Bây giờ chạy không có vấn đề.


0

Có vẻ như bạn có định dạng sai của cấu hình cron trong cơ sở dữ liệu. Hãy thử dọn dẹp cron_schedulebảng và thử chạy lại cron.

Ngoài ra, vui lòng kiểm tra cài đặt cron trong cấu hình hệ thống.


1
Không có gì trongcron_schedule
— Stevie G
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.