| @@ -12,21 +12,31 @@ | ||
| 12 | 12 | */ |
| 13 | 13 | function add_cron_jobs() { |
| 14 | 14 | $logger = Logger::getInstance(); |
| 15 | 15 | |
| 16 | - // 🔹 Daily Telemetry Job | |
| 17 | - if ( ! wp_next_scheduled( 'f12_cf7_doubleoptin_daily_telemetry' ) ) { | |
| 18 | - wp_schedule_event( time(), 'daily', 'f12_cf7_doubleoptin_daily_telemetry' ); | |
| 19 | - $logger->info( "Cron event scheduled", [ | |
| 20 | - 'plugin' => 'double-opt-in', | |
| 21 | - 'job' => 'f12_cf7_doubleoptin_daily_telemetry', | |
| 22 | - 'interval' => 'daily' | |
| 23 | - ] ); | |
| 24 | - } else { | |
| 25 | - $logger->debug( "Cron event already scheduled", [ | |
| 16 | + // 🔹 Daily Telemetry Job — abgeschafft, und bestehende Planungen aufräumen. | |
| 17 | + // | |
| 18 | + // Der Job hat täglich an einen Endpoint gepostet, den es nicht mehr gibt: | |
| 19 | + // silentshield.forge12.com trägt ein Zertifikat für einen fremden Host | |
| 20 | + // (CN=portal.silentchat.de, abgelaufen am 14.07.2026) und liefert auf dem | |
| 21 | + // Telemetrie-Pfad 404. Übertragen wurde deshalb ohnehin nichts — WordPress | |
| 22 | + // prüft das Zertifikat und die Verbindung scheiterte. | |
| 23 | + // | |
| 24 | + // Das hat allerdings einen zweiten Fehler verdeckt: der Job wurde | |
| 25 | + // unabhängig von der Einstellung "telemetry" geplant, und send_snapshot() | |
| 26 | + // hat sie nie geprüft. Wer Telemetrie abgeschaltet hatte, hätte also | |
| 27 | + // gesendet, sobald der Endpoint zurückkommt. Solange es kein funktionierendes | |
| 28 | + // Ziel gibt, wird gar nicht mehr geplant; die Zähler laufen weiter lokal, | |
| 29 | + // weil die Review-Notice sie braucht. | |
| 30 | + // | |
| 31 | + // Aufräumen ist Pflicht, nicht Kosmetik: auf bestehenden Installationen | |
| 32 | + // steht der Job bereits im WP-Cron und bliebe dort für immer stehen. | |
| 33 | + if ( wp_next_scheduled( 'f12_cf7_doubleoptin_daily_telemetry' ) ) { | |
| 34 | + wp_clear_scheduled_hook( 'f12_cf7_doubleoptin_daily_telemetry' ); | |
| 35 | + $logger->info( "Cron event removed", [ | |
| 26 | 36 | 'plugin' => 'double-opt-in', |
| 27 | 37 | 'job' => 'f12_cf7_doubleoptin_daily_telemetry', |
| 28 | - 'interval' => 'daily', | |
| 38 | + 'reason' => 'telemetry transport retired — no reachable endpoint', | |
| 29 | 39 | ] ); |
| 30 | 40 | } |
| 31 | 41 | |
| 32 | 42 | // Add cron |