Běh skriptu v časových intervalech PHP

Kit

Re:Běh skriptu v časových intervalech PHP
« Odpověď #30 kdy: 09. 02. 2016, 21:00:16 »
A z tohoto serveru půjdou vybraná data na hosting - zobrazení dalších výsledků, souhrnů, grafů apod.

Jsou dva způsoby, jak dostat data na hosting:

  • pull - lokální server (později hosting) si ta data periodicky vytahuje ze zařízení přes nějaké IO operace. Situace, kterou řešíš
  • push - zařízení (později lokální server) přímo odesílá data na hosting. Podle mne mnohem praktičtější

U druhého způsobu jde jen o to, zda to zařízení je schopno každou sekundu aktivně odesílat data - chovat se jako HTTP klient. Pokud to neumí, tak ho doplníš vhodným HW tak, aby to umělo.


i-PRESS

  • ***
  • 100
  • NodeJS, Python, Perl, Lua, PHP
    • Zobrazit profil
Re:Běh skriptu v časových intervalech PHP
« Odpověď #31 kdy: 09. 02. 2016, 21:28:40 »
Když už tu Kit nastínil možnosti komunikace, tak ještě doplním.


Z nabízených variant se stejně jako on přikláním k 2), tedy odesílat data když potřebuji místo permanentních dotazů.


Nastínil bych i třetí variantu a to využít perzistentní spojení a využít třeba MQTT. Má to minimální režii a je to podstatně pružnější, než obsáhlý HTTP request. Prakticky by nebyl v tomto případě problém posílat či i broadcastovat zprávy třeba každých 10ms, nebo ještě méně a v konečném důsledku to pro oba stroje bude méně náročné, než HTTP požadavek.


Přidanou hodnotou pak může být to, že pokud na cílovém serveru použijete jako Message broker Mosquitto, tan ten kromě protoklu MQTT 3.1.1 podporuje i Websocket, tzn ta data můžete mít zcela live i na té vástupní stránce. V praxi se to pak řeší tak, že si tam iniciační data vysypete z PHP/Node/Python do HTML, navěsíte třeba socket.io a subscribnete si ten kanál MQTT a můžete vesele renderovat animované grafy. Je to opravdu bleskové, rychlostně skapete spíše na schopnosti browseru přerenderovat canvas, než na nedostatku dat :)

mise

Re:Běh skriptu v časových intervalech PHP
« Odpověď #32 kdy: 10. 02. 2016, 00:00:23 »
To je přesně ono, co potřebuji. Díky za velké nakopnutí  :) Nevím, proč mně to nedošlo :)

MQTT (M2M apod.) by se mi líbilo, ale zařízení má velmi omezené možnosti nastavení. "Klienta" bych na tom asi rozchodit mohl. Nu, musím to překopat, ale bude to lepší.

Možná jsem se předtím špatně vyjádřil. Lokální server hlavně potřebuju pro řízení všech zařízení (PLC) a vizualizaci dat atd., proto ho chci mít "oddělen" od hostingu (nezávislý). Aplikace na hostingu by v podstatě pracovala z některých archivních dat (ne pro řízení).