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 cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.