Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:

permanentně běžící skript na hostingu

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: permanentne bezici skript na hostingu

Autor: AnonymousUser

19:24:37 06.04.2010

Ad 1) Znovu se vybízí otázka, proč je nutné aktualizovat něco každou sekundu, i když to nikdo nepožaduje.

Ad 2) Takže jsem se dozvěděl, že stejně se znovu navazuje request. Co takhle třeba vytvořit statický soubor a klienti by četli ten? Aktualizace by jen čas od času zaktualizovala ten soubor? Nemuselo by se vůbec navazovat spojení s db při klientském requestu.

Miloslav Ponkrác
[url]http://ponkrac.net/complex-web-server[/url]
[url]http://ponkrac.net/pisma/[/url]

Citovat příspěvek

 

Re: permanentne bezici skript na hostingu

Autor: Lukáš

21:09:54 05.04.2010

Díka za odpovědi,

na toto fórum jsem se obrátil právě pro to, že zde hledám odbornou odpověď a nikde jsem netvrdil, že jsem kdovíjak schopný programátor.
Ale k věci,

Napsal jste:

1) Oddělit aktualizaci a posílání dat klientům. Nabízí se otázka, proč je třeba aktualizovat data, když klienti nečtou a ani nepřihazují. Také se nabízí otázka, jak jsou klienti připojeni. Zkrátka každá odpověď od Vás přinese asi 5× tolik otázek.
**
Čtení aktuálních dat je řešeno ajaxovým requestem od klienta na php skript "getStates.php", který klientovi vrací parametry aukcí na které se ptal. Toto se děje každou vteřinu.
Aktualizace dat v databázi - kontrola času, příhozů, ceny apod. se děje odděleně skriptem "refreshDB.php". Ten ale musím nějak spustit, a to je také potřeba 1x/sec.
Ale jak? Zatím je to tak že se spouští zárověň s přijetím ajax requestu od klienta s dotazem na aktuální stavy, ale to mi příjde jako si přepínat televizi 2m dlouhým umělým prstem:-D



2) Každý permanenetně běžící skript je pro server zátěž jako prase. PHP na to není stvořeno aby se z něj dělali démoni, a není na to příliš efektivní.
**
A co je pro tento účel efektivnější, nebo přímo stvořeno?


3) Existuje cachování údajů, pokud chcete snížit zátěž serveru – to je možnost, která Vás ani nenapadla, přitom ve Vašem případě běžně aplikovaná.
**
Co konkrétně jste tím myslel a jakou technologii jste měl na mysli?


4) Existuje cron, který se standardně používá, pokud chcete něco aktualizovat pravidelně.
**


5) Pokud nejste dobrý programátor (nic o Vás nevím, třeba mám před sebou programátorské eso), tak permanentně běžící skript sčítá chyby v něm a v případě, že není bezchybný funguje v průběhu času hůře a hůře a zatěžuje server více a více. Časem se pak dočkáte represe admina serveru zcela jistě. Bez urážky, ale většina PHP programátorů toho moc neumí.
**
Skript pro aktualizaci auckí je jednoduchý a chyb prostý, a navíc je před spuštěním předchozí instance dávno ukončena. Testoval jsem to a skript nikdy nepřekročí dobu běhu 0,4sec. Následně se spustí znova, chyby by se takto sčítat neměly, nebo se pletu?

Citovat příspěvek

 

Re: permanentne bezici skript na hostingu

Autor: AnonymousUser

17:43:16 04.04.2010

[ital]Řešil jsem to jak navrhujete, probuzením skriptu klientem, ale jakmile není připojen klient, data se v db neaktualizují. Mimoto to 100 připojených klientů způsobí 100 instancí obslužného skriptu, kdežto permanentně běžící skript je pouze jeden a klienti čtou již auktualizovanou db, což zatíží server dle mého méně.[/ital]

1) Oddělit aktualizaci a posílání dat klientům. Nabízí se otázka, proč je třeba aktualizovat data, když klienti nečtou a ani nepřihazují. Také se nabízí otázka, jak jsou klienti připojeni. Zkrátka každá odpověď od Vás přinese asi 5× tolik otázek.

2) Každý permanenetně běžící skript je pro server zátěž jako prase. PHP na to není stvořeno aby se z něj dělali démoni, a není na to příliš efektivní.

3) Existuje cachování údajů, pokud chcete snížit zátěž serveru – to je možnost, která Vás ani nenapadla, přitom ve Vašem případě běžně aplikovaná.

4) Existuje cron, který se standardně používá, pokud chcete něco aktualizovat pravidelně.

5) Pokud nejste dobrý programátor (nic o Vás nevím, třeba mám před sebou programátorské eso), tak permanentně běžící skript sčítá chyby v něm a v případě, že není bezchybný funguje v průběhu času hůře a hůře a zatěžuje server více a více. Časem se pak dočkáte represe admina serveru zcela jistě. Bez urážky, ale většina PHP programátorů toho moc neumí.

Vzhledem k tomu, že neznám detaily co chcete řešit, tak jsem zůstal obecně viz výše.

Miloslav Ponkrác
[url]http://ponkrac.net/complex-web-server[/url]
[url]http://ponkrac.net/pisma/[/url]

Citovat příspěvek

 

Re: permanentne bezici skript na hostingu

Autor: mrako

13:32:53 04.04.2010

Dne Sun, 04 Apr 2010 09:25:50 +0100 Lukáš >
napsal/-a:

>
>
> Díky za názory,
>
> Potřeba permanentně běžícího skriptu je zřejmá: Jedná se o aukční
> systém, kde je odpočítavaný čas aukce, parametry aukce se tím pádem mění
> každou vteřinu (započtení příhozů apod.) a klienti by pouze měli
> sledovat aktuální stav.
>
> Řešil jsem to jak navrhujete, probuzením skriptu klientem, ale jakmile
> není připojen klient, data se v db neaktualizují. Mimoto to 100
> připojených klientů způsobí 100 instancí obslužného skriptu, kdežto
> permanentně běžící skript je pouze jeden a klienti čtou již
> auktualizovanou db, což zatíží server dle mého méně.
>
> Napadlo mne také skript spustit s time limitem 7200 sec a pouštět ho
> cronem každé 2 hod. Už to je ale ústupek mému hostiteli na úkor
> funkčnosti. Hmm a dedikovaný server jim platit nebudu. I tak jsem se
> hostingovými službami, které využívám maximálně spokojen.
>
> Pokud vás napadá jak to řešit elegantněji, uvítám váš názor.

pouzi ten ajax a nacitaj len aktualnu cenu, trebars kazdych 5-10 sekund,
castejsie naozaj netreba si myslim, a cas do konca nejakym javascriptom.
Pokial si myslis, ze sa ti bude pripajat >100 ludi, urcite si zarobis aj
na vlastny server a potom si mozes robit ako uznas za vhodne :)

--
"save the Frodo, save the world - http://doda.aladriel.sk"
"a tu reklama" zcivilizujte sa na starej civilizace.kvasha.net
"a tu rada" Dotazy na nastavení serverů a mod_rewrite směrujte do fóra
Webservery.

Příspěvek zaslán emailem

Citovat příspěvek

 

Re: permanentne bezici skript na hostingu

Autor: Lukáš

10:25:50 04.04.2010

Díky za názory,

Potřeba permanentně běžícího skriptu je zřejmá: Jedná se o aukční systém, kde je odpočítavaný čas aukce, parametry aukce se tím pádem mění každou vteřinu (započtení příhozů apod.) a klienti by pouze měli sledovat aktuální stav.

Řešil jsem to jak navrhujete, probuzením skriptu klientem, ale jakmile není připojen klient, data se v db neaktualizují. Mimoto to 100 připojených klientů způsobí 100 instancí obslužného skriptu, kdežto permanentně běžící skript je pouze jeden a klienti čtou již auktualizovanou db, což zatíží server dle mého méně.

Napadlo mne také skript spustit s time limitem 7200 sec a pouštět ho cronem každé 2 hod. Už to je ale ústupek mému hostiteli na úkor funkčnosti. Hmm a dedikovaný server jim platit nebudu. I tak jsem se hostingovými službami, které využívám maximálně spokojen.

Pokud vás napadá jak to řešit elegantněji, uvítám váš názor.

Citovat příspěvek

 

Re: permanentne bezici skript na hostingu

Autor: AnonymousUser

0:06:27 04.04.2010

[ital]Problém je ale v tom že to běží na hostovaném serveru a tam je problém s nastavení čaosového limitu pro běh skriptu. set_time_limit() je zakázáno, max_execution_time direktiva v .htaccess také.[/ital]

Tím samozřejmě chrání sami sebe před přetížením serveru a dělají správně.

Samozřejmě, pokud máte nastavený limit času, tak ho donekonečna nespustíte.

A upřímně, proč také? K čemu je to dobré?

Vysílat všesměrově každou sekundu data po síti je dobré na rozhlasové vysílaní, či televizi.

Proč si klent neřekne o data sám? A proč klient svou žádostí o data neprobudí Váš skript?

Alternativně si spusťte cronem pravidelně nějaký skript.

Miloslav Ponkrác
[url]http://ponkrac.net/complex-web-server[/url]
[url]http://ponkrac.net/pisma/[/url]

Citovat příspěvek

 

Re: permanentne bezici skript na hostingu

Autor: mrako

9:30:59 03.04.2010

Dne Sat, 03 Apr 2010 08:14:58 +0100 Lukáš napsal/-a:

>
>
> Pane Ponkrác, díky za stručnou a velice inspirativní reakci.
>
> Problém je ale v tom že to běží na hostovaném serveru a tam je problém s
> nastavení čaosového limitu pro běh skriptu. set_time_limit() je
> zakázáno, max_execution_time direktiva v .htaccess také.
>
> Poradil byste mi?
>
>

Ajax by to mal vyriesit. Inak nieje to dost velka zataz? nejaky chat?
hadam, ze pani na hostingu nebudu moc stastny


--
"save the Frodo, save the world - http://doda.aladriel.sk"
"a tu reklama" zcivilizujte sa na starej civilizace.kvasha.net
"a tu rada" Dotazy na nastavení serverů a mod_rewrite směrujte do fóra
Webservery.

Příspěvek zaslán emailem

Citovat příspěvek

 

Re: permanentně běžící skript na hostingu

Autor: Lukáš

9:14:58 03.04.2010

Pane Ponkrác, díky za stručnou a velice inspirativní reakci.

Problém je ale v tom že to běží na hostovaném serveru a tam je problém s nastavení čaosového limitu pro běh skriptu. set_time_limit() je zakázáno, max_execution_time direktiva v .htaccess také.

Poradil byste mi?

Citovat příspěvek

 

Re: permanentně běžící skript na hostingu

Autor: AnonymousUser

12:14:15 02.04.2010

Už z otázky čiší špatně navrhnutá architektura komunikace.

Nicméně vezměte si jakýkoli rozumný skriptovací jazyk založený na rozumném programovacím jazyce a nechte ho běžet v nekonečné smyčce. Kde je problém?

Miloslav Ponkrác
[url]http://ponkrac.net/complex-web-server[/url]
[url]http://ponkrac.net/pisma/[/url]

Citovat příspěvek

 

permanentně běžící skript na hostingu

Autor: Lukáš

9:25:35 02.04.2010

Ahoj,

musím vytvořit skript neustále běžící na serveru, který by prováděl několik jednoduchých operací nad myslq db a každoou sekundu vysílal update ke všem aktuálně připojeným klientům/browserům.

Poradíte mi někdo aspoň obecně jak na to?

Díky

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: