Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]uruchamianie linku do skryptu php w baselinker
luis2005
post 18.04.2024, 07:59:56
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 18.04.2024

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


Cześć, mam problem ze skryptem php.
Napisałem skrypt, który przyjmuje z linku metodą GET id produktu na magazynie w baselinkerze.
Skrypt łączy się z api baselinkera pobiera dane o wymiarach produktu później łączy się z API Globkuriera aby pobrać najtańszą cenę wysyłki i nazwę kuriera do wszystkich europejskich krajów, następnie wrzuca te dane do określonego pola produktu w baselinkerze.

Jeśli odpalę link w przeglądarce to kilka sekund mija zanim skrypt się wykona, ale działa poprawnie.

Baselinker oferuje coś takiego jak akcje automatyczne.
Skonfigurowałem akcję automatyczną, która po dodaniu produktu uruchamia adres URL skryptu i przekazuje parametr idProduktu, niestety albo stety baselinker odpala link "w tle" prawdopodobnie czeka chwilę i przerywa wykonywanie skryptu.
W jaki sposób można po odpaleniu linku dokończyć wykonywanie skryptu po stronie serwera?

skrypt nic nie zwraca (wszystko wykonuje przez zewnętrzne API), chodzi tylko o wywołanie działania skryptu linkiem i dokończenie wykonywania na serwerze.
Go to the top of the page
+Quote Post
nospor
post 18.04.2024, 08:45:11
Post #2





Grupa: Moderatorzy
Postów: 36 459
Pomógł: 6297
Dołączył: 27.12.2004




jeslii twoj skrypt wykonuje sie za dlugo i baselinker ppoprostu robi timeouta to musisz do baselinkera zamiast przekazywac link do dlugiego skryptu, przekaz link do skryptu ktoru dodaja żądanie do twojej kolejki. Ten skrypt wykona sie szybko. A potem na serwerze obsluguj te kolejke w swoim tempie i z glowy.

Oczywiscie nie mowie ci bys instalowal super zajebiste kolejki ala rabbitmq. no chyba ze to ogarniasz to jak najbardziej. Ale moze to byc zwyklyu skrypt ktora do bazy doda kolejne żądanie a potem w cronie niech lata inny skrypt ktory spradza te tabele z bazy czy sa nowe żądania i odpala je pokolei


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
luis2005
post 18.04.2024, 08:54:04
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 18.04.2024

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


Dzięki za odpowiedź. Po twoim poście uświadomiłem sobie, że może składnię PHP jakoś ogarniam, to zasady działania serwera już kompletnie nie. Chyba muszę zgłębić temat CORNa.
Go to the top of the page
+Quote Post
nospor
post 18.04.2024, 08:56:07
Post #4





Grupa: Moderatorzy
Postów: 36 459
Pomógł: 6297
Dołączył: 27.12.2004




corn to kukurydza. Ja mowie o CRON wink.gif

CRON to nic innego jak task manager, gdzie mowisz w jakim czasie ma sie odpalac jakis skrypt. Takze on nei sluzy do obslugi kolejki, tylko tam mowisz co ile czasu ma sie odpalac twoj skrypt php, ktory bedzie spradzal czy cos w kolejce jest


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
luis2005
post 18.04.2024, 09:26:00
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 18.04.2024

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


tak tak, oczywiście chodzi o CRON (literówka), podpowiesz jeszcze coś o kolejkach, obsłudze kolejek?
Jak wpisuje w google to jakieś obszerne informacje wyskakują, a ja potrzebuje to tylko do tego krótkiego skryptu.
Jak byś mnie tylko ukierunkował jak najłatwiej to zrobić jakiś link do uproszczonego artykułu lub pod jakimi hasłami najlepiej szukać?
Go to the top of the page
+Quote Post
nospor
post 18.04.2024, 09:41:19
Post #6





Grupa: Moderatorzy
Postów: 36 459
Pomógł: 6297
Dołączył: 27.12.2004




jak juz mowilem, to nie musi byc kolejka stricte w sensie w jakim teraz ludzie o niej mowia. poprostu storz tabele KOLEJKA, tam wrzucaj kolejny requesty z baselinkera, z id produktu.
A potem jakis skrypt w php, ktory bedzie odapalany przez task managera, np CRONa, bedzie sprawdzal czy sa nowe rekordy w tabeli kolejka, Jak sa, to po kolei bedzie je odczytywal i ladowal ten twoj process ktory trwa tak dlugo. gdy skonczy to albo usunie rekord z tabeli KOLEJKA, albo zmieni jego status by bylo wiadmo ze juz to bylo obsluzone. I juz. Tu nie ma zadnej wieksze filozofii


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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 Wersja Lo-Fi Aktualny czas: 30.04.2024 - 23:59