Puncte:1

Aveți nevoie de ajutor pentru regenerarea imaginilor după golirea memoriei cache a imaginii

drapel in

TL;DR - Cache-ul de imagini golit pentru un stil de imagine care este folosit practic în fiecare blog. Nu se regenerează la încărcarea paginii. Se regenerează când editez și salvez nodul. Căutăm modalități de a edita/salva în mod programatic toate nodurile.

Buna tuturor,

După cum am menționat mai sus, încerc să găsesc o modalitate de a salva programatic nodurile sau cel puțin să rulez procesul care regenerează o imagine.

Am făcut recent o spălare a memoriei cache a imaginilor. În cele mai multe cazuri, aceasta nu ar fi nicio problemă. Stilurile de imagine sunt regenerate la încărcarea paginii. Cu excepția, se pare, în cazul meu de nișă.

Eu folosesc Inserați modul pentru ca scriitorii mei să insereze imagini în articolele lor. Aici cred că lucrurile merg prost. Imaginile nu sunt regenerate decât dacă intri în ecranul de editare a nodului. Notă: tocmai mi-am dat seama că nu trebuie să salvați nodul pentru ca reîncărcarea imaginii să funcționeze, pur și simplu mergând la pagina de editare.

Am încercat să folosesc funcționalitatea „salvați multe” încorporată în vizualizări. Cu toate acestea, salvarea nodului în acest fel nu rezolvă problema.

Am încercat și un modul numit „Resave all nodes” și în cele din urmă nici acesta nu a funcționat. Notă: tot ceea ce face acest modul este să apeleze $node::load(x); $nod->salvare(); în loturi.

Deci trebuie să existe un cârlig care se rulează odată ce pagina de editare este deschisă. Există o modalitate de a rula toate aceste procese fără a accesa pagina de editare? Există vreo modalitate de a vedea toate cârligele rulate odată ce pagina de editare este deschisă?

Prima mea soluție este întotdeauna forța brută. În acest caz, aș folosi păpușar sau seliniu și aș merge „manual” la paginile de editare. Nici măcar nu trebuie să las pagina să se încarce complet. Se pare că am nevoie doar de o solicitare autorizată la pagina de editare și imaginea este reîncărcată.

Dar trebuie să existe o cale mai bună. Poate cineva să-mi ofere o perspectivă, vă rog?

Editare: Pentru a fi clar, configurația mea folosește modulul de inserare legat mai sus pentru a insera imagini în câmpurile din corpul articolului. Imaginile sunt găzduite pe s3

sonfd avatar
drapel in
Interesant.Ce se întâmplă dacă obțineți una dintre adresele URL ale imaginii din inspectarea paginii și accesați direct adresa URL?
drapel cn
De obicei, tot ce trebuie să faceți pentru a regenera stilurile de imagine este să vizitați pagina nod (needitare), așa că este la fel de simplu ca să folosiți wget pentru a trage toate paginile de pe site-ul dvs. Deci trebuie să existe ceva neobișnuit în configurația dvs. care împiedică acest lucru.
Joshua Jones avatar
drapel in
@sonfd tocmai am clarificat în postarea mea originală. Dar îmi găzduiesc imaginile pe s3 folosind modulul s3fs. deci primesc o eroare 403 pentru că imaginea nu a fost regenerată.
Joshua Jones avatar
drapel in
@PatrickKenny De acord. Cu toate acestea, presupun că combinația mea dintre modulul de inserare și utilizarea s3fs ca sistem de fișiere pentru găzduirea imaginilor/fișierelor este de vină. Poate doar modulul de inserare, deoarece toate celelalte imagini s-au regenerat bine. Deci presupun că întrebarea mea rămâne în picioare. Există o modalitate de a rula hook-urile care sunt executate pe ecranul de editare în mod programatic?
sonfd avatar
drapel in
Ați șters cache-urile?
leymannx avatar
drapel ne
Am creat https://www.drupal.org/project/resave_all_nodes cândva în trecut. Puteți selecta un tip de nod și apoi puteți salva din nou toate nodurile de acel tip într-un lot. Poate fi de ajutor?
leymannx avatar
drapel ne
Uau, nu știam acum 5 luni că acest lucru a fost adăugat la Drush 11: `drush entity:save node --bundle=article` pentru a re-salva toate nodurile de tip articol.
drapel id
Generarea variantei de imagine este un proces automat la încărcarea paginii. Serverul web este nginx?

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.