Magento 2 cron không hoạt động


7
*/1 * * * * www-data php /var/www/magento-2/bin/magento cron:run
*/1 * * * * www-data php /var/www/magento-2/update/cron.php
*/1 * * * * www-data php /var/www/magento-2/bin/magento setup:cron:run

đây là cài đặt công việc định kỳ và crontab.xml của tôi

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Cron:etc/crontab.xsd">
  <group id="default">
    <job name="send_call" instance="Custom\Module\Model\Observer\Event" method="sendEmail">
      <schedule>*/5 * * * *</schedule>
    </job>
  </group>
</config>

Tôi kiểm tra nhiều lần nhưng cron không hoạt động


và thông báo lỗi?
MagenX

Không có gì sai nhưng tôi viết nhật ký bên trong hàm sendEmail nhưng khi tôi thấy nhật ký trống
Hoàng tử Yadav

Phương pháp bạn đã chỉ định là senMail. Đúng không? Có nên gửiMail không?
Smartie

tôi đã viết sai ở đây nhưng trong mã đó là viết nên xin hãy trả lời chính xác
Hoàng tử Yadav

1. Bạn đã thử chạy php /var/www/magento-2/bin/magento setup:cron:runthủ công chưa? 2. Crontab.xml của bạn nằm ở đâu?
BuskaMuza

Câu trả lời:


9

Xóa bộ nhớ cache và chạy lại Cron.

php bin/magento cache:flush
php bin/magento cron:run

Điều này làm việc cho tôi, cho kịch bản tôi đã có. Nhưng tôi không chắc chắn nếu đây là cách tiếp cận được đề nghị.
thám hiểm tò mò

5

Nếu việc xóa bộ đệm php bin/magento cache:flushkhông phù hợp với bạn, hãy kiểm tra cron_schedulebảng và tìm Mã công việc của bạn ở đó. Rất có thể là một trong những trường hợp bị kẹt với trạng thái "đang chạy" do một số lỗi trong trình quan sát của bạn. Nếu vậy, chỉ cần xóa dòng đó khỏi bảng cron_schedule và thử chạy lại cron.


Cảm ơn! Đây là vấn đề trong trường hợp của tôi. Có một vài cronjobs có tên đã được đổi tên trong mô-đun và do đó họ đã thất bại với thông báo "Không tìm thấy cuộc gọi lại"
Kumar A.

Tôi có cùng một thông báo lỗi "Không tìm thấy cuộc gọi lại", tôi đã kiểm tra tên cronjob của mình trong mô-đun, đó là cùng một tên mọi lúc, vẫn có thông báo lỗi này. Bạn có giải pháp nào để khắc phục vấn đề này không?
Ronak Parmar

@RonakParmar Kiểm tra thẻ <job> của bạn trong tệp xml của crontab. Cả hai thuộc tính "thể hiện" và "phương thức" phải được chỉ định và phải hợp lệ. Thuộc tính "thể hiện" phải trỏ đến tệp nơi hàm được thực thi tồn tại và thuộc tính "phương thức" phải là tên của hàm được thực thi trong tệp đó.
Daniel Kratohvil

@DanielKratohvil Cảm ơn bạn đã hỗ trợ. Tôi đã khắc phục vấn đề của mình. Tôi đã sử dụng crontab.xml của mô-đun lõi Magento và thực hiện các thay đổi bắt buộc theo mô-đun tùy chỉnh của mình. Bây giờ công việc cron của tôi đang làm việc tốt. Cảm ơn bạn.
Ronak Parmar

Cảm ơn !! cái này hiệu quả với tôi
Giordhano

2

Tôi nghĩ bạn cần khởi động lại dịch vụ cron của mình trong Máy chủ lưu trữ

Các lệnh cho người dùng RHEL / Fedora / CentOS / Khoa học Linux

Nếu bạn đang sử dụng Redhat (RHEL) / Fedora / CentOS Linux, hãy sử dụng các lệnh sau.

Nhiệm vụ: Bắt đầu dịch vụ cron

Để bắt đầu dịch vụ định kỳ, hãy sử dụng:

# /etc/init.d/crond start

HOẶC người dùng RHEL / CentOS 5.x / 6.x:

# service crond start

HOẶC người dùng RHEL / Centos Linux 7.x:

# systemctl start crond.service

Nhiệm vụ: Dừng dịch vụ cron

Để dừng dịch vụ cron, sử dụng:

# /etc/init.d/crond stop

HOẶC người dùng RHEL / CentOS 5.x / 6.x:

# service crond stop

HOẶC người dùng RHEL / Centos Linux 7.x:

# systemctl stop crond.service

Nhiệm vụ: Khởi động lại dịch vụ cron

Để khởi động lại dịch vụ cron, sử dụng:

# /etc/init.d/crond restart

HOẶC người dùng RHEL / CentOS 5.x / 6.x:

# service crond restart

HOẶC người dùng RHEL / Centos Linux 7.x:

# systemctl restart crond.service

0

Nhóm có id "mặc định" hoạt động với thời gian 15 phút một lần. Hãy thử thay thế nó bằng "chỉ mục":

...
 <group id="index">
...

0

Bạn có thể sử dụng lệnh "which php" để xem đường dẫn php chính xác đang chạy trên máy chủ. Sử dụng đường dẫn php đó để định cấu hình bởi người dùng SSH được sử dụng cho magento chứ không phải bởi người dùng root.

Đi đến cài đặt Magento và chạy

crontab -e

* * * * * path_to_php var/www/html/***.com/v2/bin/magento cron:run
* * * * * path_to_php var/www/html/***.com/v2/update/cron.php
* * * * * path_to_php var/www/html/***.com/v2/bin/magento setup:cron:run
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.