Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Nakładanie skryptów
adi456
post
Post #1





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 21.01.2010
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


Witam

Walcze z problemem nakładania się skryptów tzn skrypt ładuje się poprzez js czasem co kilka ms w wziązku z czym zdaża się że skrypt jest odpalony jednocześnie 3 razy.

chciałbym koljkować tzn gdy skończy się wykonywać to dopiero odpala się następny raz.

ciasteczka nie dają rady
obecne rozwiązanie ale mało wydajne to:

  1. for($i=0;$i<900;$i++) {
  2. if(file_exists('blokada'.$id_sklep)) sleep(1); else break;
  3. }
  4. $fp = fopen('blokada'.$id_sklep, "a+"); flock($fp, 2); fwrite($fp, 'ok'); flock($fp, 3); fclose($fp);
  5.  
  6. // tu kod który ma sie wykonać
  7.  
  8. unlink('blokada'.$id_sklep);


proszę o podpowiedz, nie wiem czy szukać innego rozwiązania czy próbować np zamiast 1s wstawić jakieś ms?
Go to the top of the page
+Quote Post
Aqu
post
Post #2





Grupa: Zarejestrowani
Postów: 279
Pomógł: 58
Dołączył: 14.07.2012

Ostrzeżenie: (0%)
-----


Jeżeli sprawdzasz to dla jednego użytkownika, to możesz zastosować sesje.
Go to the top of the page
+Quote Post
adi456
post
Post #3





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 21.01.2010
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


sesja tez nie bedzie działać bo z tego co obesrwowałem to 1 wywłoanie skryptu przez js to 1 sesja , 2 wywowałanie to już 2 sesja
Go to the top of the page
+Quote Post
Pyton_000
post
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Ale Ty chcesz kolejkować wywołania czy chcesz pominą wywołania które się nakładają i odpalać dopiero kolejne po tym jak się wykona poprzednie odrzucając te pomiędzy.
Go to the top of the page
+Quote Post
adi456
post
Post #5





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 21.01.2010
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


nie pomijać tylko wstrzymywać dopóki poprzednie nie skończą swojego działania, przykład np kolejki do kasy w sklepie.
Go to the top of the page
+Quote Post
Pyton_000
post
Post #6





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


No dobra czyli kolejkowanie.
A co robi ten skrypt.
Go to the top of the page
+Quote Post
adi456
post
Post #7





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 21.01.2010
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


do zapisywania towaru który jest zczytywany skanerem kodów kreskowych

- dodaje zeskanowany towar do mysql
- łaczy w 1 pozycje te same kody (sumuje ilości)
- wczytuje nazwe (z mssql)
- wyświetla ostatnio wczytaną pozycje
- opcja grupowania
- podsumowanie razem w kazdej grupie
- kasowanie pojedynczego / grupy / wszystkiego

Ten post edytował adi456 15.04.2015, 15:36:44
Go to the top of the page
+Quote Post
Pyton_000
post
Post #8





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


To tu chyba faktycznie tylko taka proteza. Można ładnie to zapisać:
  1. while(file_exists('scan.lock'))
  2. usleep(500);
  3.  
  4. file_put_contents('scan.lock','', LOCK_EX);
  5.  
  6. //
  7.  
  8. unlink('scan.lock');
Go to the top of the page
+Quote Post
adi456
post
Post #9





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 21.01.2010
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


ok dzięki za info
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 05:29