Jump to content

code.php reload no servera puses.


sharps.lv
 Share

Recommended Posts

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 - sharps.lv
Link to comment
Share on other sites

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

versatile

Neko nesaprotu, bet tev vajag vai nu cron, vai ajax.

Link to comment
Share on other sites

sharps.lv
(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 - sharps.lv
Link to comment
Share on other sites

versatile

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

sharps.lv
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

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

sharps.lv

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

versatile

Nu tad palaid shell skriptu, kam ciklā ielikts sleep.

Link to comment
Share on other sites

AndrisBB
(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 - AndrisBB
Link to comment
Share on other sites

AndrisBB

Reku tev piemērs servisam kas palaižas ik pa 5 sekundēm. Aizvieto test.sh ar savu php scriptu.

 

 

Screenshot 2024-02-15 at 20.01.26.png

  • Patīk 2
Link to comment
Share on other sites

sharps.lv
(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 - sharps.lv
Link to comment
Share on other sites

versatile
(labots)

Būs daži taski jāsadefinē :D 12 minūtē, 720 stundā...

image.thumb.png.2470d30ff8d9cb615384bee92ad4011c.png

 

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 - versatile
Link to comment
Share on other sites

AndrisBB
pirms 3 stundām , sharps.lv teica:

Windows serveris.

 

 

Kapēc cilvēki vispār kautko veido uz Windows? :suicide2:

Link to comment
Share on other sites

AndrisBB
(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 - AndrisBB
Link to comment
Share on other sites

(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 - pauls
Link to comment
Share on other sites

AndrisBB
(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 - AndrisBB
Link to comment
Share on other sites

AndrisBB

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

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 kontu

Pierakstīties

Jums jau ir konts? Pierakstieties tajā šeit!

Pierakstīties tagad!
 Share

×
×
  • Izveidot jaunu...