adbacz
26.11.2013, 19:25:48
Zainstalowałem sobie wtyczkę BackWPup i wykonałem kopię zapasową. Ale zastanawia mnie pytanie, jak ona działa? To znaczy, działa ona nawet w tedy, gdy wyłączymy kartę przeglądarki, na której mieliśmy stronę admin WP.
Włączyłem tworzenie kopii, wyłączyłem kartę, za jakiś czas włączyłem, a kopia była już zrobiona i była w połowie drogi do wysłania na DropBoxa. Jakim cudem to się stało w tle, mimo, że miałem wyłączoną tą stronę z kart przeglądarki?
mlawnik
26.11.2013, 20:37:17
Nie znam dokładnie działania tej wtyczki, ale może ona uruchamiać inny skrypt nie powiązany z sesją użytkownika. Albo działa na cronie, ale jakbyś to konfigurował to byś się zorientował
adbacz
27.11.2013, 07:48:14
"to konfigurował" - czyli co? Wtyczkę czy CRON?
Co masz na myśli pisząc, że skrypt jest niepowiązany z sesją?
EDIT:
Sprawdziłem na tyle na ile mogłem to, co robi ta wtyczka. Okazało się, że wysyłanie danych na DropBoxa odbywa się jednym Requestem. Dowód to cały czas taki sam timestamp w indeksie $_SERVER['REQUEST_TIME']. Zastanawia mnie tylko, jakim cudem, skrypt wykonuje się tak długo (ponad 2 minuty) na serwerze z limitem 30 sekund. Powinno się już dawno wszystko wyłączyć i nie dokończyć, a tu wszystko się kończy, i plik ZIP i przesyłanie go na DropBoxa.
werdan
27.11.2013, 08:54:15
Ten plugin jest na serwerze i może sobie robic na nim różne rzeczy, czy ty jako admin jestes obecny czy nie.
Wordpress ma szereg funkcji do tego. np.:
http://codex.wordpress.org/Function_Refere...le_single_event>Zastanawia mnie tylko, jakim cudem, skrypt wykonuje się tak długo (ponad 2 minuty) na serwerze z limitem 30 sekund.
Można to sobie regulować z poziomu PHP, np za pomocą set_time_limit();
W kodzie pluginu 9 razy występuje @set_time_limit( 0 );, gdzie 0 oznacza no limit.
adbacz
27.11.2013, 08:57:06
Ok, ja rozumiem, że można tak zrobić (set_time_limit), tylko, że u mnie na serwerze nie można z poziomu skryptu zmienić tej wartości. Dlatego też to mnie dziwi.
PS:
Wiem od CRON-ie na WP, i zdaję sobie sprawę, że może tego używać ten plugin, ale jeśli timestamp w $_SERVER['REQUEST_TIME'] jest cały czas taki sam, to chyba jasno wynika, że jest to ten sam Request. Gdyby dany RAZ* był wywoływany za każdym razem z CRONa- to byłby inny REQUEST_TIME - przynajmniej tak mi się wydaje, jesli sie mylę to proszę mnie poprawić.
* ten RAZ to jedno wywołanie metody wysyłającej część pliku kopii na DropBoxa, i jest on wywoływany WielkośćPaczkiZip / 4MB, czyli w moim wypadku 33 razy, bo paczka jest dość duża ze względu na wrzucone testowe dane
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.