Cron Job runですが、モジュールの更新がチェックされていません - 自動化する方法は?
質問
cron.dailyタスクの一部として実行するスクリプトを構成し、スクリプトをテストしました。
私のステータスレポートによると、クロンはスクリプトによって正しく実行されていたので、それが起こることを嬉しく思います。
しかし、私は利用可能な更新ページに行きましたが、それはまだ17時間前に最後にチェックしたと言っています - クロンのこの部分ではありませんか?
自動化されたチェックとレポートにこれを含める方法はありますか?
解決
のコードを見ています update_cron(), 、関数がキャッシュデータがない場合、または更新間隔が過去にある場合、更新をチェックすることに気付きます。
function update_cron() {
$frequency = variable_get('update_check_frequency', 1);
$interval = 60 * 60 * 24 * $frequency;
// Cron should check for updates if there is no update data cached or if the
// configured update interval has elapsed.
if (!_update_cache_get('update_available_releases') || ((time() - variable_get('update_last_check', 0)) > $interval)) {
update_refresh();
_update_cron_notify();
}
}
デフォルトでは、更新は1日に1回チェックされます。 Drupalチェックが1日に2回アップデートをチェックしたい場合は、「update_check_frequency」変数の値を0.5に変更できます。
設定ページでは1より低い値を設定できないため、その変数の値をで変更できます。 variable_get('update_check_frequency', 0.5)
. 。 Cronタスクは、1日に少なくとも2回実行する必要があります。そうしないと、トリックが機能しません。
また、キャッシュを無効にし、update.moduleを強制して、すべてのモジュールをリストし、[保存]ボタンをクリックするページにアクセスして、Cronタスクが次に実行されるときに更新を確認することもできます。または、電話することもできます update_invalidate_cache().
所属していません drupal.stackexchange