sharps.lv Ierakstīts Februāris 15 Share Ierakstīts Februāris 15 (labots) Varbūt nekorekti definēju jautājumu, bet kā šo realizēt? Visur kur meklēju ir vien tikai šadi vai js lapas reloads no browsera puses. <meta http-equiv="refresh" content = "5" charset=utf-8"> Tas nav tas ko īsti man vajag. Vajag lai code.php serverī reloadotos. Labots Februāris 15 - sharps.lv Link to comment Share on other sites More sharing options...
superKrona Februāris 15 Share Februāris 15 cron jobi parasti izmanto Link to comment Share on other sites More sharing options...
Usins Februāris 15 Share Februāris 15 Interesanti vai šī atbilde ir korekta Link to comment Share on other sites More sharing options...
maize Februāris 15 Share Februāris 15 Ja apdalīts serveris, kuram nav cron, var lāpīties ar cron-job.org utml. online servisiem. Link to comment Share on other sites More sharing options...
versatile Februāris 15 Share Februāris 15 Neko nesaprotu, bet tev vajag vai nu cron, vai ajax. Link to comment Share on other sites More sharing options...
sharps.lv Februāris 15 Author Share Februāris 15 (labots) Sekojoši code.php ar autoreload apvaicā TCP tīkla ierīces ievāc datus un iedzen tos mySQL ar noteiktu intervālu. Tik tālu tas strādā. Šo vajag no servera puses, lai tas notiktu 24/7. Vai tikai PHP syntakšos nebija iespēja to ielikt sistēmas servisos? Web serveris apache. Vai ajax to dara? Izskatās ka dara, bet tad jātur browseris vaļā? crone cik skatos līdz 60x stundā. vajag biežāk. Labots Februāris 15 - sharps.lv Link to comment Share on other sites More sharing options...
versatile Februāris 15 Share Februāris 15 Cik biežāk? Reizi minūtē ir par retu? Tad jāraksta kaut kāds aģents, kas to dara - shell skripts vai lokāla proga. Link to comment Share on other sites More sharing options...
sharps.lv Februāris 15 Author Share Februāris 15 5 minutes ago, versatile said: Cik biežāk? Reizi minūtē ir par retu? Tad jāraksta kaut kāds aģents, kas to dara - shell skripts vai lokāla proga. reizi 5ās sekundēs (dažādiem TCP punktiem dažāds nolasīšanas intervāls). Retos pētnieciskos nolūkos 1s. Link to comment Share on other sites More sharing options...
Usins Februāris 15 Share Februāris 15 reko ai ieteica: Lai realizētu nepārtrauktu datu apsekošanu un to ievadīšanu MySQL datubāzē no PHP skripta, kas komunicē ar TCP tīkla ierīcēm, no servera puses un darbojas 24/7, ir vairākas pieejas, bet katrai ir savi ierobežojumi un specifiski izmantošanas scenāriji. Šeit ir pārskats par jūsu iespējām, ņemot vērā minētās prasības un ierobežojumus: 1. Cron Jobs Parasti, cron jobs tiek izmantoti regulāru uzdevumu izpildei uz servera. Tomēr, ja jums ir nepieciešamība pēc biežākas izpildes nekā reizi minūtē, standarta cron sintakse šādu izpildes biežumu nepiedāvā tieši. Jūs varētu apsvērt alternatīvas, piemēram, izveidot cron job, kas palaiž skriptu, kurš ietver ciklu ar sleep() funkciju īsākam intervālam. Piemēram, skripts varētu izpildīties katru minūti, bet iekšējais cikls ar sleep() funkciju varētu veikt darbību katru sekundi vai vēl biežāk. Tomēr, šāda pieeja var nebūt efektīva resursu izmantošanas ziņā. 2. PHP Skripts kā Sistēmas Serviss Izpildīt PHP skriptu kā fona servisu (daemon) var būt iespējams, izmantojot piemērotu pakotni vai skriptu, kas ir speciāli veidots, lai darbotos ilgstoši. PHP nav ļoti plaši izmantots šādiem mērķiem salīdzinājumā ar citām tehnoloģijām, piemēram, Node.js vai Python, bet ir iespējams izveidot PHP skriptu, kas darbojas kā serviss. Jums varētu būt nepieciešams izmantot papildu rīkus vai skriptus, lai palaistu un pārvaldītu PHP procesu kā daemons. 3. Izmantošana ar Supervisord Supervisord ir rīks, kas ļauj pārvaldīt procesus uz Linux sistēmām. To var konfigurēt, lai palaistu jūsu PHP skriptu kā servisu, kas pastāvīgi darbojas fonā. Supervisord nodrošinās, ka jūsu skripts tiek atsākts gadījumā, ja tas kādu iemeslu dēļ beidz darbību. Tas ir labāk piemērots ilgstošu procesu vadībai nekā standarta cron jobs vai manuāla skriptu restartēšana. 4. AJAX un Browseris Kā jūs minējāt, AJAX pieeja prasa, lai pārlūkprogramma būtu atvērta, lai veiktu regulārus pieprasījumus uz serveri. Šī pieeja nav piemērota 24/7 datu apsekošanai no servera puses, jo tā ir atkarīga no klienta puses pārlūkprogrammas. Secinājums Lai integrētu PHP skriptu kā daļu no sistēmas servisiem un nodrošinātu tā nepārtrauktu izpildi ar vēlamo intervālu, jums, iespējams, būs jāapsver Supervisord vai līdzīgu rīku izmantošana, lai palaistu un uzturētu PHP procesu. Tā ir efektīva pieeja, lai nodrošinātu, ka jūsu skripts darbojas nepārtraukti un ir piemērota situācijās, kad nepieciešama augsta izpildes biežuma frekvence. Link to comment Share on other sites More sharing options...
sharps.lv Februāris 15 Author Share Februāris 15 Usins paldies es jau AI paspēju uzjautāt. AJAX šķiet interesants risinājums, bet browseris vajadzīgs. Viss tas pasākums uz zema patēriņa mikroPC bez nekādiem smagnējiem browseriem. Ievāc datus no ierīcēm un uzmet tos uz mySQL. Daļā gadījumu pietiktu reizi minūtē, bet ir nepieciešamība arī 1s. Link to comment Share on other sites More sharing options...
versatile Februāris 15 Share Februāris 15 Nu tad palaid shell skriptu, kam ciklā ielikts sleep. Link to comment Share on other sites More sharing options...
AndrisBB Februāris 15 Share Februāris 15 (labots) Un kas par serveri? Linux? Tak uztaisi systemd servisu kā taimeri un lai tas palaiž tavu skriptu kaut reizi milisekundē. https://opensource.com/article/20/7/systemd-timers https://www.freedesktop.org/software/systemd/man/latest/systemd.timer.html https://wiki.archlinux.org/title/systemd/Timers pirms 1 stundas , versatile teica: Nu tad palaid shell skriptu, kam ciklā ielikts sleep. Un tad scripts nokaras un nekas vairs neiet. Labots Februāris 15 - AndrisBB Link to comment Share on other sites More sharing options...
AndrisBB Februāris 15 Share Februāris 15 Reku tev piemērs servisam kas palaižas ik pa 5 sekundēm. Aizvieto test.sh ar savu php scriptu. 2 Link to comment Share on other sites More sharing options...
sharps.lv Februāris 16 Author Share Februāris 16 (labots) Windows serveris. Jā skripta apstāšanās galīgi neder. Jau patestēju un tas notika burtiski pāris stundas pēc palaišanās. To domu atmetu. Labots Februāris 16 - sharps.lv Link to comment Share on other sites More sharing options...
versatile Februāris 16 Share Februāris 16 (labots) Būs daži taski jāsadefinē 12 minūtē, 720 stundā... Lai gan... Citēt You could create those 59 triggers manually using the GUI. However, a much quicker way to create so many triggers is to create a task with one or two triggers, export it to a text file, duplicate the according lines, change the start offsets accordingly, and then re-import the file Labots Februāris 16 - versatile Link to comment Share on other sites More sharing options...
AndrisBB Februāris 16 Share Februāris 16 pirms 3 stundām , sharps.lv teica: Windows serveris. Kapēc cilvēki vispār kautko veido uz Windows? Link to comment Share on other sites More sharing options...
AndrisBB Februāris 16 Share Februāris 16 (labots) Un pat ja izmanto tik absurdu metodi kā brauzeri, lai izsauktu php skriptu, tad kapēc vienkārši neizmantot kautkādu curl ko palaiž ik pa 5 sekundēm? Priekškam tur brauzeri? Varēsi laist uz sava mini-datora. Atrodi tik Windows ekvivalentu. watch -n 5 curl http://<tava php addrese> Labots Februāris 16 - AndrisBB Link to comment Share on other sites More sharing options...
pauls Februāris 16 Share Februāris 16 (labots) Man šķiet, ka problēma ir vairāk arhitekturāla un vajadzētu sadalīt PHP skriptu vairākās daļās. Pirmā puse regulāri ievāc datus un saglabā datubāzē/ģenerē statisku HTML. To būtu prātīgi darbināt caur php-cli ar kaut vai to pašu Task Scheduler vai powershell kolhozu ar bezgalīgu ciklu un Start-Sleep. Otra puse ielasa datus no datubāzes un attēlo tos/servē statisko HTML. Šādā veidā var iztikt bez JS vispār, pietiek ar šo. Rezultātā arī nebūs pārāk bieži un lieki jātramda caur TCP pārējās ierīces pie katras ielādes. Labots Februāris 16 - pauls Link to comment Share on other sites More sharing options...
AndrisBB Februāris 16 Share Februāris 16 (labots) Vai vispār HTML/JS lapa browserī saņem tikai notifikāciju (kad parādās kautkas jauns) ar jaunajiem datiem un pievieno esošajiem. Priekškam refrešot un prasīt serverim? Un ko dara ja atver to pašu lapu 2 browseros? abas refreho un ievāc datus un liek datubāzē? Labots Februāris 16 - AndrisBB Link to comment Share on other sites More sharing options...
AndrisBB Februāris 16 Share Februāris 16 Vai arī brauzeris uzkarās vai kāda cita iemesla pēc izdomā pārlādēt lapu. Link to comment Share on other sites More sharing options...
Recommended Posts
Izveido kontu, vai pieraksties esošajā, lai komentētu
Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas
Izveidot jaunu kontu
Piereģistrējies un izveido jaunu kontu, tas būs viegli!
Reģistrēt jaunu kontuPierakstīties
Jums jau ir konts? Pierakstieties tajā šeit!
Pierakstīties tagad!