[PHP] Elke 15 minuten zonder cronjob

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Toppe
  • Registratie: Januari 2004
  • Nu online

Toppe

Oké ✅

Topicstarter
Goedeavond,

Momenteel ben ik bezig met een eigen geschreven domotica systeem... Hierbij heb ik al een behoorlijk aantal obstakels overwonnen maar ik zit er nog met 1 en hoop dat jullie kunnen helpen.

Ik heb 2 Pi's

1x Hub
1x Node (dit worden er meer)

De hub moet een URL van de node opvragen en deze gegevens opslaan in de database (Liever niet de Node zelf dingen weg schreven naar de database) zoals bijvoorbeeld de temperatuur.

Nu werk ik met een cronjob die elke 15 minuten de temperatuur opvraagt en deze opslaat, alleen wil ik van die cronjob af zodat echt alles in de interface is te bewerken (uiteraard zal je denk ik wel een cronjob nodig hebben die elke minuut iets controleert. Dit heb ik nu ook al voor de planning).

Alleen, hoe kan je dit makkelijk in een web interface doen? Het liefst wil ik het volgende kunnen doen:
Tijd:
15 = xx:15
5 = xx:05
/15 = elk kwartier
/5 = elke 5 minuten

Wellicht piece of cake, maar heb momenteel al zoveel code gezien, pfff...

Natuurlijk moet alles ook nog automatisch, dus de /15 niet 'hardcodeeren'

Wie wil mij op weg helpen? |:( |:( |:( |:( |:( |:( |:( |:( |:( |:( |:( |:( |:(

Donstil: Je moet kopen wat je wilt hebben. Niet wat je nodig hebt!


Acties:
  • 0 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Nu online

Damic

Tijd voor Jasmijn thee

Meta refresh elke 5 en 15 minuten ;) die 5 en 15 in een db ofzo opslaan

[ Voor 32% gewijzigd door Damic op 10-03-2015 20:43 ]

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


Acties:
  • 0 Henk 'm!

  • Ramon
  • Registratie: Juli 2000
  • Laatst online: 20:27
Misschien kan je iets met een Message queue?

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/


Acties:
  • 0 Henk 'm!

  • BCC
  • Registratie: Juli 2000
  • Laatst online: 18:39

BCC

Als je binne het uur blijft : cronjob op elke minuut en dan aan het begin:

If (Huidige tijd.minuten) modulo (waarde uit je db) == 0


Anders minuten if seconden sinds 0:00 uitrekenen en daarmee gaan modulo-en.

[ Voor 28% gewijzigd door BCC op 10-03-2015 20:50 ]

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


Acties:
  • 0 Henk 'm!

  • Acid_Burn
  • Registratie: Augustus 2001
  • Laatst online: 13:34

Acid_Burn

uhuh

Waarom pas je die cronjob niet aan vanuit je webinterface?

Glass Eye Photography | Zelfbouw wireless fightstick | Mijn puzzel site


Acties:
  • 0 Henk 'm!

  • BCC
  • Registratie: Juli 2000
  • Laatst online: 18:39

BCC

Omdat je dan zeer waarschijnlijk een security issue hebt. De user waar je webserver onder draait heeft normaliter geen login en dus geen crontab

[ Voor 43% gewijzigd door BCC op 10-03-2015 20:52 ]

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


Acties:
  • 0 Henk 'm!

  • GuntherDW
  • Registratie: November 2004
  • Laatst online: 29-12-2022
Je kan ook gewoon als user een eigen crontab hebben hoor. Er zijn cron daemons die dat gewoon ondersteunen.

Acties:
  • 0 Henk 'm!

  • BCC
  • Registratie: Juli 2000
  • Laatst online: 18:39

BCC

Moet je even zorgen dat je webuser crontab mag aanroepen, maar het kan idd prima veilig als je het ff netjes doet.

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


Acties:
  • 0 Henk 'm!

  • ajakkes
  • Registratie: Maart 2004
  • Laatst online: 16-05 22:32

ajakkes

👑

Heb wel eens een soort poor mans cron class geschreven.

Laatste run opslaan in de database en kijken of de laatste run langer of korter dan de gewenste interval geleden is.

👑


Acties:
  • 0 Henk 'm!

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 16:51
Je cron elke minuut een script laten aanroepen, dat zelf een cron expressie controleert en bepaalt welke commandos hij aanroept? Dan kan je de cron expressie en commando/url in een database opslaan.
Parsen van cron expressie kan bijv met https://github.com/mtdowling/cron-expression
Pagina: 1