Magento 2.0 cronジョブが実行されていることを確認する方法


7

Magento cronジョブが実行されていることを確認するにはどうすればよいですか?ログファイルのMagento 2インストール手順に従ってcronを設定します。

スクリーンショットを見る(クリックして拡大):

https://drive.google.com/open?id=0Bytqhoir_Tt5TG5LTWh5TmYxN28

Magento CE 2.0.2を実行しています

サーバープラットフォーム:

  • オペレーティングシステム:CENTOS 7.2 x86_64
  • CPU:デュアルIntel(R)Xeon(R)CPU E5-2620 0 @ 2.00GHz
  • RAM:256 GB
  • ストレージ:SSDベースのクラウドストレージ
  • ネットワーク:20ギガビット
  • サーバーUI:cPanel / WHM 54.0ビルド18(最新/安定版)
  • Apache:2.2.26
  • MySQL:5.6.29
  • PHP:5.6.18

cPanelユーザーホストアカウントのCrontab:

*/1 * * * * /usr/local/bin/php -c /usr/local/lib/php.ini /home/abcdefg/public_html/bin/magento cron:run > /home/abcdefg/public_html/var/log/magento.cron.log&
*/1 * * * * /usr/local/bin/php -c /usr/local/lib/php.ini /home/abcdefg/public_html/update/cron.php > /home/abcdefg/public_html/var/log/update.cron.log&
*/1 * * * * /usr/local/bin/php -c /usr/local/lib/php.ini /home/abcdefg/public_html/bin/magento setup:cron:run > /home/abcdefg/public_html/var/log/setup.cron.log&

2016-05-05を追加

MySQLにcron_scheduleはcronアクティビティが含まれていることが通知されました。だから私はテーブルを見て、これらのエントリを見つけました。以下は、テーブル内の一意の各エントリのスニペットで、最新のエントリを示しています。

55534 aggregate_sales_report_coupons_data running Class Magento\SalesRule\Crone\AggregateSalesReportCouponsData does not exist 2016-05-04 19:54:02 2016-05-04 20:00:00 NULL NULL
56093 captcha_delete_expired_images success NULL 2016-05-05 07:06:03 2016-05-05 07:10:00 2016-05-05 07:10:02 2016-05-05 07:10:02
56081 captcha_delete_old_attempts success NULL 2016-05-05 06:51:02 2016-05-05 07:00:00 2016-05-05 07:00:03 2016-05-05 07:00:03
56070 catalog_index_refresh_price success NULL 2016-05-05 06:51:02 2016-05-05 07:00:00 2016-05-05 07:00:03 2016-05-05 07:00:03
56094 magento_newrelicreporting_cron success NULL 2016-05-05 07:06:03 2016-05-05 07:06:00 2016-05-05 07:07:03 2016-05-05 07:07:03
56092 newsletter_send_all success NULL 2016-05-05 07:06:03 2016-05-05 07:10:00 2016-05-05 07:10:02 2016-05-05 07:10:02
56071 sales_clean_orders success NULL 2016-05-05 06:51:02 2016-05-05 07:00:00 2016-05-05 07:00:03 2016-05-05 07:00:03
56084 sales_grid_order_async_insert success NULL 2016-05-05 07:06:03 2016-05-05 07:06:00 2016-05-05 07:07:03 2016-05-05 07:07:03
56087 sales_grid_order_creditmemo_async_insert success NULL 2016-05-05 07:06:03 2016-05-05 07:06:00 2016-05-05 07:07:03 2016-05-05 07:07:03
56085 sales_grid_order_invoice_async_insert success NULL 2016-05-05 07:06:03 2016-05-05 07:06:00 2016-05-05 07:07:03 2016-05-05 07:07:03
56086 sales_grid_order_shipment_async_insert success NULL 2016-05-05 07:06:03 2016-05-05 07:06:00 2016-05-05 07:07:03 2016-05-05 07:07:03
56091 sales_send_order_creditmemo_emails success NULL 2016-05-05 07:06:03 2016-05-05 07:06:00 2016-05-05 07:07:03 2016-05-05 07:07:03
56088 sales_send_order_emails success NULL 2016-05-05 07:06:03 2016-05-05 07:06:00 2016-05-05 07:07:03 2016-05-05 07:07:03
56089 sales_send_order_invoice_emails success NULL 2016-05-05 07:06:03 2016-05-05 07:06:00 2016-05-05 07:07:03 2016-05-05 07:07:03
56090 sales_send_order_shipment_emails success NULL 2016-05-05 07:06:03 2016-05-05 07:06:00 2016-05-05 07:07:03 2016-05-05 07:07:03

また、最初のインストール時に設定した3つのログファイルcronを実行するにはどうすればよいですか。

*/1 * * * * /usr/local/bin/php -c /usr/local/lib/php.ini /home/abcdefg/public_html/bin/magento cron:run >> /home/abcdefg/public_html/var/log/magento.cron.log&
*/1 * * * * /usr/local/bin/php -c /usr/local/lib/php.ini /home/abcdefg/public_html/update/cron.php >> /home/abcdefg/public_html/var/log/update.cron.log&
*/1 * * * * /usr/local/bin/php -c /usr/local/lib/php.ini /home/abcdefg/public_html/bin/magento setup:cron:run >> /home/abcdefg/public_html/var/log/setup.cron.log&

最後に、数年前にMagento v1にクライアントのMagentoインスタンスをインストールしたときに、ページインデックスとキャッシュおよび製品インデックスとキャッシュが何らかの方法でcronを介して自動的に更新されたことを覚えています。Magento 2で同じことをするにはどうすればよいですか?管理UIバックエンドでMagento 2にログインするたびに、クライアントの製品がサイトに表示されるように、インデックスの再作成とキャッシュのフラッシュを行う必要があります。

2016-05-05午後12:05 ETのテスト

(1)cron_scheduleテーブルを切り捨てました。次に、1分後、ここに新しいテーブルがあります。

ここに画像の説明を入力してください

cron実行後の表は次のとおりです。

ここに画像の説明を入力してください


システムの詳細も追加してください
Jayesh Patel 2016

それを行う方法、または@JayeshPatelを具体的にどのように見たいですか
H.

私はあなたのシステムOS、サーバーなどについて言うことを意味します
Jayesh Patel

それはあなたが役立つかもしれdevdocs.magento.com/guides/v2.0/config-guide/cli/...
Arunendra

右@Arunendra ...それは、cronログエントリのセットアップに使用した正確なドキュメントページでした。それでは、なぜポップアップアラート/エラーメッセージが表示されるのですか?
H.フェレンス

回答:


14

cron_scheduleテーブルをトランケートし、数分後にスケジュールされたタスクが再入力されるかどうかを確認します。

大雑把なことはわかっていますが、答えを出す必要があります。また、ステージング環境でこれを行う価値があるかもしれません。最初。

使用する:

truncate cron_schedule;

数分使用した後:

select * from cron_schedule;

@GeorgeSchiopuに感謝します。今それをやっています。しばらくしてから投稿します。そして、価値があるのは、現時点では単にサイトを構築しているだけなので、ステージングサーバー上のサイトを検討することです。または、少なくともそれを構築しようとしています。Magento 2.0は非常にバグが多く複雑であるようです:(
H. Ferrence

最新の修正@GeorgeSchiopuで私のOQを見てください。助けてくれてありがとう。
H.フェレンス2016

@ H.Ferrence、クールで助かった。
George Schiopu、2016年

@ H.Ferrence問題の解決に役立った場合、私の回答を「選択したもの」としてマークしてください。それを見ることが他の人にとって有益であると証明するかもしれません(...それを実現するのに1年以上かかっただけです!)。ありがとう。
George Schiopu

1

コマンドの実行に使用するユーザーを指定してください。ルートには使用せず、magentoユーザーのみを使用してください。例えば:

*/1 * * * * username /usr/local/bin/php -c /usr/local/lib/php.ini /home/abcdefg/public_html/bin/magento cron:run > /home/abcdefg/public_html/var/log/magento.cron.log&
*/1 * * * * username /usr/local/bin/php -c /usr/local/lib/php.ini /home/abcdefg/public_html/update/cron.php > /home/abcdefg/public_html/var/log/update.cron.log&
*/1 * * * * username /usr/local/bin/php -c /usr/local/lib/php.ini /home/abcdefg/public_html/bin/magento setup:cron:run > /home/abcdefg/public_html/var/log/setup.cron.log&

正常に動作している私のサーバー(CENTOS 7)の例:

*/1 * * * * myuser php -c /etc/php.ini /srv/html/path_to_magento/bin/magento cron:run > /srv/html/path_to_magento/var/log/cron.log

1

私のVagrantマシンで時々起こるようです。私は同じ通知を受け取りました、それを取り除くために私がしなければならなかったすべては以下を使用してデータを再インデックスすることでした:

php bin / magentoインデクサー:再インデックス


1

次の3つを確認してください。

  • sudo service cron status サーバーでサービスが実行されているかどうかを確認する

  • ls -la ファイルのユーザーとグループがcronで設定したものと同じかどうかを確認します crontab -u xxx -e

  • select * from cron_schedule cronテーブルにデータが入力されているかどうかを確認します。


1

以下は有用です:

  1. MySQLテーブル「cron_schedule」はあなたの友達です。phpmyadminまたは任意のmysqlクライアントを開き、次を実行します。

cron_scheduleから*を選択します。

「created_at」、「executed_at」、「messeges」の列を探すと、cronの動作または実行に関する役立つ情報が得られます。

ここに画像の説明を入力してください

  1. 「Ran jobs by schedule。」が表示された場合は、sshを使用してサーバーに接続し、cronコマンドを手動で実行します。これは、cron_scheduleテーブルが更新されたことを意味します。

1

あたりとしてMagentoのDevのドキュメント

すべてのcronデータはのcron_schedule表に書き込まれますMagento database。次の表に、cronジョブの履歴を示します。

  • ジョブIDとコード
  • 状態
  • 作成日
  • 予定日
  • 実施日
  • 終了日

テーブル内のレコードを表示するには、コマンドラインでMagentoデータベースにログインし、次のように入力します。

SELECT * from cron_schedule;


-1

cron.phpMagentoディレクトリのルートで開き、次の場所に配置します。

Mage::log('cron is running', null, 'myCronLog.log'); 

しばらくしてからこのファイルを確認し、ログファイルが生成されているかどうかを確認してくださいvar/log。生成された場合は、cronが実行されています。


3
これは、magento2ではなく、magento1でのみ機能します。:ここで説明したようメイジ:: Magentoの2に存在し、もはやない、あなたはloggerInterfaceを使用する必要はありませmagento.stackexchange.com/questions/92434/...
tecjam

Magento 2でこの問題を解決する方法を知っている人はいますか?
H.フェレンス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.