I have a client for whom embedded youtube videos are missing. They appear in composer’s preview, but when the messages are saved, they disappear. They are working fine in try.discourse.org. I tried whitelisting youtu.be and changing the URL to a youtube.com url too. Neither solved the problem.
It seems that the problem was that recent Discourse updates have caused my DOI resolver plugin to muck things up. (I disabled a couple other things too, but it was definitely some plugin. . . )
Mir ist das auch schon passiert. Es handelt sich um einen vorübergehenden IP-Sperre (ich glaube, für 1 Stunde), und während dieser Zeit scheitern alle YouTube-Oneboxes bei den neu aufbereiteten Beiträgen.
Vielleicht sollte man einen Mechanismus implementieren, der verhindert, dass beim Rebacken mehr als x Anfragen pro Stunde an YouTube gesendet werden?
Dies könnte funktionieren, um langsam neu zu rendern: Post.where("raw like '%youtube%'").where("cooked NOT LIKE '%lazyYT%'").update_all(baked_version: nil)
Zunächst einmal, vielen Dank, dass du dir die Zeit genommen hast, mir zu helfen, @riking.
Ich habe den Befehl ausgeführt und habe das Ergebnis erhalten, von dem ich annehme, dass es die Anzahl der fehlenden Beiträge ist: 22462. Basierend auf dem letzten Teil des Befehls kann man davon ausgehen, dass er im Hintergrund läuft?
Für die Übereinstimmung eines Strings in einem Beitrag ist keine Regex erforderlich. Eine einfache String-Suche reicht für youtube (zum Beispiel) völlig aus. In diesem Beispiel wird jeder Beitrag, der den String youtube enthält, neu verarbeitet, und zwar einer alle 100 Sekunden (sehr langsam…)
Ungefähr 100 Sekunden vergangen:
Ich lasse das einfach weiterlaufen und gehe davon aus, dass diese Rake-Aufgabe in etwa 76.200 Sekunden (plus/minus) abgeschlossen sein wird
Ich hätte dieses Beispiel wohl mit einer Verzögerung von 10 Sekunden anlegen sollen
Ich meinte, dass ich es auf einer kleinen Stichprobe ausgeführt und dann erneut gestartet habe, aber die Zahl hat sich nicht geändert.
Also: Ich habe den Befehl ausgeführt und hatte 76.000 Beiträge, es wurden 200 verarbeitet, dann gestoppt, und als ich es erneut ausgeführt habe, war die neue Zahl 76.200 (ja, vielleicht haben meine Nutzer 400 Beiträge mit YouTube hinzugefügt… aber… ich weiß es nicht).
Jetzt führe ich es erneut aus, nur um zu sehen, wie es läuft, aber das wird einige Tage dauern (76.500 Treffer…)
Da niemand sonst dieses Problem hat, versuche ich, über meine Variablen nachzudenken, und zwar:
Maschine gewechselt (also könnte es eine YouTube-Ratenbegrenzung sein?)
Ein Discourse-Backup auf einer neuen Installation wiederhergestellt (das sollte nicht damit zusammenhängen, aber an diesem Punkt wette ich auf alles, was sich bewegt)
Zwei-Container-Installation (Ich dachte, ich hätte ein Problem mit dem Neuaufbau der Daten, aber dank dieser Information von @Falco weiß ich jetzt, dass dies “normal” ist.
CloudFlare darauf installiert, gemäß den CDN-Tutorials, die hier zu finden sind.