回答:
これらの種類のcronジョブには、cron設定が呼び出されたときに呼び出されるバックエンドモデルがあります。このモデルはcronジョブのランタイムを挿入しcore_config_data
、cronスケジュールはそこから読み取ります。
例としてサイトマップcronを考えてみましょう。フィールド 'frequency'には次のバックエンドモデルがあります(を参照app/code/code/Mage/Sitemap/etc/system.xml
)。
<backend_model>adminhtml/system_config_backend_sitemap_cron</backend_model>
フリークエンシーが保存されると(およびそれを含む残りのフィールド)、このメソッドが呼び出されますMage_Adminhtml_Model_System_Config_Backend_Sitemap_Cron::_afterSave()
。
これによりcore_config_data
、このパスを持つcron式がテーブルに挿入されますcrontab/jobs/sitemap_generate/schedule/cron_expr
。
この値は読み込まれMage_Cron_Model_Observer::_generateJobs
、cron_schedule