Problema nella pubblicazione dell'argomento dopo il trasferimento su un nuovo server

Abbiamo un sito WordPress in cui utilizziamo Discourse per accedere e commentare WordPress.
Tutto ha funzionato bene finché non abbiamo spostato WordPress (che è sempre stato eseguito su un server diverso) su un nuovo IP e un server diverso.
Da allora, abbiamo iniziato a ricevere articoli nell’editor classico che hanno le impostazioni mostrate nell’immagine sottostante e che non ottengono un link Discourse anche dopo essere stati pubblicati automaticamente.
Devo sempre andare manualmente in un particolare articolo e semplicemente tradurre l’articolo, quindi viene creato il link Discourse e tutto è a posto.
Qualche idea su dove cercare la causa del problema?

Qualcuno sta dando indizi su dove potrebbe essere il problema?
L’unica menzione di errore che ho trovato nel log è questa, ma non sono riuscito a rintracciare nulla su questo messaggio.

[2024-06-14 06:45:38] webhook_topic.INFO: update_topic_content.update_post_metadata_success {"post_ids":"771554"} 
[2024-06-14 06:45:43] publish.INFO: create_post.post_success {"wp_title":"Konec ikonického designu. Galaxy Buds 3 dostanou zcela nový vzhled","wp_author_id":"94147","wp_post_id":771981} 
[2024-06-14 06:45:43] publish.INFO: create_post.body_valid {"wp_title":"Konec ikonického designu. Galaxy Buds 3 dostanou zcela nový vzhled","wp_author_id":"94147","wp_post_id":771981} 
[2024-06-14 06:45:43] publish.INFO: create_post.after_publish {"post_id":771981,"remote_post_type":"create_post","discourse_post_id":"10416","discourse_topic_id":"5899","discourse_permalink":"https://komunita.svetandroida.cz/t/konec-ikonickeho-designu-galaxy-buds-3-dostanou-zcela-novy-vzhled/5899"} 
[2024-06-14 06:45:43] webhook_topic.ERROR: update_topic_content.response_body_error

Probabilmente vale la pena cercare su Meta update_topic_content.response_body_error :wink:

Ciao @Petr_Mišák

Hai un esempio di un argomento del genere? L’esempio nei tuoi log mostra che l’argomento Discourse è stato pubblicato con successo. Questo è ciò che significano queste righe

[2024-06-14 06:45:43] publish.INFO: create_post.post_success {"wp_title":"Konec ikonického designu. Galaxy Buds 3 dostanou zcela nový vzhled","wp_author_id":"94147","wp_post_id":771981} 
[2024-06-14 06:45:43] publish.INFO: create_post.body_valid {"wp_title":"Konec ikonického designu. Galaxy Buds 3 dostanou zcela nový vzhled","wp_author_id":"94147","wp_post_id":771981} 
[2024-06-14 06:45:43] publish.INFO: create_post.after_publish {"post_id":771981,"remote_post_type":"create_post","discourse_post_id":"10416","discourse_topic_id":"5899","discourse_permalink":"https://komunita.svetandroida.cz/t/konec-ikonickeho-designu-galaxy-buds-3-dostanou-zcela-novy-vzhled/5899"} 

Puoi vedere un link all’argomento pubblicato con successo nell’ultima riga di questi log, ovvero

"discourse_permalink":"https://komunita.svetandroida.cz/t/konec-ikonickeho-designu-galaxy-buds-3-dostanou-zcela-novy-vzhled/5899"

L’errore del webhook che vedi immediatamente dopo suggerisce un problema con il webhook, ma non è necessariamente indicativo di un problema con la pubblicazione in sé.

Se potessi eseguire un nuovo test in cui riproduci il problema e dare un’occhiata ai log di publish che sono stati creati, avremo qualche informazione sul problema che hai descritto.

Inoltre, potresti spiegare cosa intendi con “tradurre l’articolo”?

Devo sempre entrare manualmente in un particolare articolo e semplicemente tradurre l’articolo

Cosa stai facendo esattamente qui?

Sospetto che la tua installazione di Discourse potrebbe aver memorizzato nella cache la voce DNS e stia utilizzando l’indirizzo IP della tua vecchia installazione di WP. Il modo più rapido per provare è riavviare il container e vedere se il problema scompare.

2 Mi Piace

Il log probabilmente mostra un record dello stato quando salvo manualmente l’articolo. Mi dispiace è stato un errore di battitura, avrebbe dovuto dire salva manualmente.

Ho pensato anche alla cosa del DNS, e ho eseguito “./launcher rebuild app” subito dopo aver spostato WordPress sul nuovo server, ma forse era troppo presto dal punto di vista del DNS. Ci riproverò allora.

Mi scusi, solo per confermare, intende che il log non è collegato al problema con la pubblicazione automatica che ha segnalato? In caso contrario, potrebbe condividere un log di un evento di pubblicazione automatica?

È molto difficile per me capire dai log se righe specifiche sono correlate al problema o meno. Ho apportato alcune modifiche relative al DNS e vedremo se ha aiutato quando il prossimo articolo uscirà alle 10.

Quindi il problema attuale è che quando un articolo su WordPress dovrebbe uscire automaticamente a un certo orario, il link alla community di Discourse non viene creato. Ma quando successivamente modifico manualmente l’articolo problematico e lo salvo senza apportare modifiche, il link alla community di Discourse viene creato.

La prossima volta che un articolo verrà pubblicato, cerca i log con publish.INFO o publish.ERROR con un timestamp simile e condividi qui ciò che trovi.

1 Mi Piace

Attualmente, l’articolo programmato automaticamente Vaše hodinky Amazfit zřejmě budou ještě lepší! Blíží se velká aktualizace è stato pubblicato e manca ancora il link a Discourse

Che ha l’ID 772581

Purtroppo, tutto ciò che vedo nel log dalla nostra ultima comunicazione sono queste informazioni.

[2024-06-21 07:09:01] connection.INFO: check_connection_status.successful_connection
[2024-06-21 07:09:01] connection.INFO: check_connection_status.valid_scopes
[2024-06-21 07:23:30] webhook_topic.INFO: update_topic_content.update_post_metadata_success {"post_ids":"772615"}
[2024-06-21 07:25:57] webhook_topic.INFO: update_topic_content.update_post_metadata_success {"post_ids":"772615"}
[2024-06-21 07:42:03] webhook_topic.INFO: update_topic_content.update_post_metadata_success {"post_ids":"772857"}
[2024-06-21 07:47:37] sso_client.INFO: auth_user.success {"user_id":129795}
[2024-06-21 07:48:05] sso_client.INFO: auth_user.success {"user_id":152766}
[2024-06-21 08:04:20] webhook_topic.INFO: update_topic_content.update_post_metadata_success {"post_ids":"772857"}

Qui invio il meta log. Non sono riuscito a leggere nulla al suo interno

### Questo file è incluso nei download di log ###

### Server ###

WordPress - 6.5.4
PHP - 8.0.30
MySQL - 11.3.2

### Plugin Attivi ###

Advanced Google reCAPTCHA - 1.21
Allviews - 1.0.1
APS Arena Products - 2.5.5
Classic Editor - 1.6.3
Error Log Monitor - 1.7.8
FS Poster - 6.5.9
GTM4WP - Un plugin di Google Tag Manager (GTM) per WordPress - 1.20.2
Head, Footer and Post Injections - 3.2.8
Kontrola uploadovaných obrázků - 1.0
Limit Modified Date - 1.0.0
Lnk.Bio - 0.2.2
Lokální ukládání Gravatarů - 1.4
Lynt Custom Functions - 1.0.3
Pixwords Scenes Nápověda - 1.0.2
Rank Math SEO PRO - 3.0.64
Rank Math SEO with AI SEO Tools - 1.0.221
Redakční Tools - bez expirace - 2.0.12
SA Partner Products Feed - 1.0
Simple Local Avatars - 2.7.10
Speculative Loading - 1.3.1
Super Progressive Web Apps - 2.2.27
SZ Ad Manager API - 1.3.21
Webpushr Push Notifications - 4.36.0
WordPress Editorial Calendar - 3.8.5
WP-Appbox - 4.4.19
WP-Discourse - 2.5.3
WP-PostViews - 1.77
Wpify Performance Helper - master
WP Shortcode by MyThemeShop - 1.4.17
WP Shortcode by MyThemeShop extend by Svět Zítřka - 1.16

### Impostazioni WP Discourse (Segreti Esclusi) ###

connection-logs - 1
display-subcategories - 0
allow-tags - 0
max-tags - 5
publish-as-unlisted - 1
full-post-content - 0
custom-excerpt-length - 55
add-featured-link - 1
auto-publish - 1
force-publish - 1
force-publish-max-age - 0
publish-failure-notice - 1
auto-track - 1
allowed_post_types - post,page
exclude_tags -
hide-discourse-name-field - 0
discourse-username-editable - 0
direct-db-publication-flags - 0
verbose-publication-logs - 1
enable-discourse-comments - 1
comment-type - display-comments-link
ajax-load - 0
load-comment-css - 0
discourse-new-tab - 0
hide-wordpress-comments - 0
show-existing-comments - 1
max-comments - 0
min-replies - 1
min-score - 0
min-trust-level - 1
bypass-trust-level-score - 50
only-show-moderator-liked - 0
custom-datetime-format -
cache-html - 1
clear-cached-comment-html - 0
verbose-comment-logs - 1
use-discourse-webhook - 1
webhook-match-old-topics - 0
use-discourse-user-webhook - 0
webhook-match-user-email - 0
verbose-webhook-logs - 1
verbose-sso-logs - 1
enable-sso - 0
auto-create-sso-user - 0
real-name-as-discourse-name - 0
force-avatar-update - 0
redirect-without-login - 0
sso-client-enabled - 1
sso-client-login-form-change - 1
sso-client-sync-by-email - 1
sso-client-disable-create-user - 0
sso-client-sync-logout - 1
logs-enabled - 1

Ok, il tuo problema è il vecchio problema della pubblicazione automatica con post programmati.

La causa più probabile è che uno degli altri plugin sul tuo sito si stia agganciando anche al tuo sistema di pianificazione, producendo i problemi che altri hanno riscontrato in passato. Guardando la tua lista di plugin, questo sembra un possibile candidato:

WordPress Editorial Calendar - 3.8.5

Potresti provare a disabilitarlo e vedere se il problema persiste?

Grazie per il suggerimento. Ho compilato il plugin e vedremo alle 12 ora nostra se l’articolo uscirà.

Ma la stessa configurazione del plugin era anche sul server precedente, dove tutto funzionava bene.

Warning: Undefined variable $status_url in /.../www/wp-content/plugins/wp-discourse/lib/sync-discourse-topic.php on line 230

Che dovrebbe essere questo pezzo di codice $response = $this->discourse_request( $status_url, $args );

Sei sicuro al 100% che le configurazioni fossero identiche? Come hai verificato?

Questo riguarda i webhook e non è correlato al tuo problema.

Sì, la configurazione del plugin Discourse era identica sul server precedente, poiché sia i dati del server che quelli del database sono stati spostati fisicamente.

Quindi, sfortunatamente, non era questo plugin. È attualmente disabilitato e l’articolo appena uscito che collegava a Discourse non ha ottenuto Skvělý na cesty! Xiaomi vydalo maličký holicí strojek s nabíjením přes USB-C

Non c’è nulla nel log riguardo all’articolo con ID 772245

Ma se apro manualmente l’articolo problematico e lo salvo. Nel log appare quanto segue

[2024-06-21 10:13:07] publish.INFO: create_post.post_success {"wp_title":"Skvělý na cesty! Xiaomi vydalo maličký holicí strojek s nabíjením přes USB-C","wp_author_id":"150202","wp_post_id":772245} 
[2024-06-21 10:13:07] publish.INFO: create_post.body_valid {"wp_title":"Skvělý na cesty! Xiaomi vydalo maličký holicí strojek s nabíjením přes USB-C","wp_author_id":"150202","wp_post_id":772245} 
[2024-06-21 10:13:07] publish.INFO: create_post.after_publish {"post_id":772245,"remote_post_type":"create_post","discourse_post_id":"10809","discourse_topic_id":"6138","discourse_permalink":"https://komunita.svetandroida.cz/t/skvely-na-cesty-xiaomi-vydalo-malicky-holici-strojek-s-nabijenim-pres-usb-c/6138"} 
[2024-06-21 10:13:07] webhook_topic.ERROR: update_topic_content.response_body_error  
[2024-06-21 10:13:07] webhook_topic.INFO: update_topic_content.update_post_metadata_success {"post_ids":"772245"} 

Potrebbe essere un problema che eseguiamo WP cron usando WP CLI?

Sì, potrebbe essere quello. Prova a pianificare un post nell’interfaccia utente di WordPress e vedi se funziona.

Hmm, quando abbiamo collegato un cron normale, non solo il WP CLI, tutto funziona come dovrebbe.

Ma non capisco perché sia così. Il plugin di WordPress potrebbe essere modificato per essere compatibile anche con WP CLI?

Non aiuterebbe @simon?

Come stai chiamando il cron job? Tieni presente che quando chiami wp cron, la chiamata è influenzata da eventuali parametri globali di wp: Config – WP-CLI – WordPress.org. È possibile che qualcosa nella tua configurazione wp influenzi il modo in cui viene gestito il job.

Questo chiamerà tutti i WordPress cron job pianificati:

wp cron event run --due-now

Se stai semplicemente chiamando wp cron event run publish_future_post, è possibile che gli eventi richiesti dal plugin WP Discourse per pubblicare un post non vengano attivati. Penso che questo sia l’equivalente di come WordPress gestisce internamente i post pianificati:

wp cron event run publish_future_post future_to_publish publish_post transition_post_status

Non l’ho testato. Sto configurando un nuovo computer e non ho ancora un sito WordPress su di esso. Lo farò presto.

2 Mi Piace