![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
Panowie, macie jakiś pomysł gdzie wstawić plik php do wykonywania cronem by był nie dostępny dla userów, którzy by mogli przypadkiem w niego wejść?
Ten post edytował casperii 4.06.2017, 21:27:32 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Podchwytliwe pytanie...hmmm... moze w:
/sciezka/niedostepna/przez/www/twoj_plik.php ? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
Chodziło mi raczej czy można pchać plik do odpalenia poza public_html ?
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No a czemu nie? No chyba ze uzywasz crona www, ale to wypadaloby o tym wspomniec na samym poczatku
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 4 Dołączył: 30.05.2017 Ostrzeżenie: (0%) ![]() ![]() |
Możesz wstawić na pendrive, chyba że pożyczasz komuś.
-- Poza głównym katalogiem serwera. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
@nospor a jakiś pomysł masz odnośnie sytuacji:
Cron wykonuje np. co 10 godzin w pętli np. 10000 aktualizacji rekordów na które oczywiście ustawiam sleep(10) z zewnętrznego serwera poprzez curl, z jakiegoś powodu (np. chwilowa przerwa serwera) przy aktualizacji 5tyś -ego rekordu cron się zatrzymuje(?) i po wznowieniu serwera zaczyna od początku (?) - czy żeby zapobiec takiej sytuacji powinienem sprawdzać na którym polu się zatrzymałem ? i tylko updatować to pole +1 ? co w sytuacji gdy strona curlem się nie wczyta (chwilowa awaria serwera)? robić wtedy exit i nie dopuszczać do aktualizacji rekordów ? |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 46 Dołączył: 10.01.2016 Ostrzeżenie: (0%) ![]() ![]() |
Możesz do tego celu wykorzystać transkacje. Funkcje te są dostępne na silniku InnoDB.
https://dev.mysql.com/doc/refman/5.7/en/inn...age-engine.html Ten post edytował Neutral 4.06.2017, 23:39:25 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Tak, musisz zapisywac wszystko co sie poprawnie zrobilo by wiedziec co robic przy nastepnym starcie crona
Cytat co w sytuacji gdy strona curlem się nie wczyta (chwilowa awaria serwera)? robić wtedy exit i nie dopuszczać do aktualizacji rekordów ? A to zalezy czy kolejne aktualizacje wymagaja poprawnej poprzedniej. Jak nie to lecisz dalej a ta co sie nie powiodla powtorzy sie przy nastepnym cronie, pod warunkiem ze zrobisz jak napisalem na poczatku
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
@nospor a tak się jeszcze zastanawiam czy nie lepiej by było przy każdym produkcie dodać pole datetime i z każdym jej aktualizacją updatować czas / date.
A w pierwszym zapytaniu pobierać tylko te rekordy gdzie data i czas jest większa od X minut. Zobacz poniższy kod, da się jakoś z optymalizować, ponieważ jak dam sleep to wywala mi błąd: Fatal error: Maximum execution time of 180 seconds exceeded
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No dales sleep, osiagasz limit czasowy i masz blad. Normalka. Sam masz skrypt konczyc po okreslonym czasie, to nie bedziesz mial bledu
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Na Windowsie sleep będzie się wliczał w max_execution_time, na Linuxie nie.
-------------------- |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
Panowie @nospor @trublue, wpadłem jeszcze na pomysł, by w pierwszym zapytaniu zrobić limit np 30 i pobierać tylko te rekordy gdzie czas jest późniejszy niż X minut i przy updatowaniu zapisywać date i czas a wsio puścić cronem co 10 minut. Dobre rozwiązanie ?
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Moze byc.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 00:58 |