2013-04-12 23 views
6

csvファイルで製品をエクスポートするmagentoモジュールを作った。今私は毎日23.55でcronjobを実行したいです。私はmagento cronjob wikiで書かれているようにconfig.xmlを設定します。magento cron jobとcron_schedulerテーブル

マイコード:

<crontab> 
     <jobs> 
      <gcompany_runprofilescronjob> 
       <schedule> 
        <cron_expr>55 23 * * *</cron_expr> 
       </schedule> 
       <run> 
        <model>export/export_csv::runprofilescronjob</model> 
       </run> 
      </gcompany_runprofilescronjob> 
     </jobs> 
    </crontab> 

私はまた、サーバー上のcronジョブを設定します。 cronjobを実行すると、マゼンタのcronジョブはすべてデータベーステーブルcron_scheduleに保存されますが、gcompany_runprofilescronジョブは保存されません。

<cron_expr>*/1 * * * *</cron_expr> 

私のcronジョブがデータベースではなく、私は私の関数が23.55で毎日実行されることを望む...私は望んでいない分ごとに実行に書かれている:私は、例えば、異なる間隔を設定した場合。私は間違って何をやっている?

+0

http://magento.stackexchange.com/ –

答えて

4

私の最初のステップは、Fabrizio BrancaのAOE Scheduler extensionをインストールすることです。 Fabrizioの拡張機能には、Magentoのcronに現在登録されているすべてのCronジョブと、実行予定のときに表示される「リストビュー」機能があります。また、ブラウザで即座にcronジョブを実行することもできます(cronジョブのデバッグに最適)。また、即時実行のためにジョブをスケジュールすることもできます。

cronジョブがAOE Schedulerのリストビューに表示されない場合は、cronジョブの設定に問題があります。設定キャッシュをクリアして、Magentoが最新の変更をconfig.xmlで解析するようにしてください。私はあなたのXMLノードがXML文書の階層の適切な場所、すなわち<config>ノードのすぐ下にあると仮定します。

cronジョブがリストビューに表示されても実行されない場合は、「スケジュールの生成」機能を使用してcronスケジューリングテーブルを再生成します。また、AOE Schedulerの「今すぐ実行」機能を使用して、エラーまたは例外をチェックするためにcronジョブを手動で実行してみてください。

+3

のヘルプが表示される可能性があります。モジュール全体をインストールする必要はありません。 shell/scheduler.phpスクリプトをインストールのシェル・フォルダーにコピーすることができます。これをコマンドラインで実行すると、すべての機能が得られます。 – SPRBRN

7

これは非常に古い質問ですが、正解は掲載されていませんので、次の人のためにここに残しておきます。

Magentoのcron_scheduleテーブルには、近い将来にを実行する予定のcronジョブのみが設定されています。。あなたがテーブルであなたのcronの仕事を見ていない理由は、1日に1回、正確には23:55に実行されるためです。 Magentoは、サーバのcronジョブの設定とMagentoのcronジョブの設定がSystem > Configuration > System > Cronであることに応じて、約23:45でcron_scheduleテーブルにこのcronジョブを追加します。 Generate Schedules EverySchedule Ahead forの設定を書き留めておきます。この設定では、Magentoがスケジュールを生成する頻度と時間を定義します。