Update table plus régulier possible?

Bonjour,

Mon cron update table est fait toutes les heures 58 (58 * * * *) par contre l’actualisation se fait réellement chaque heure par exemple 7H, 8H, 9H
Cependant, j’aurais besoin d’avoir l’update également à chaque heure 30 min pour actualiser un virtuel qui utilise le cout jour. pas de possibilité de forcer l’actualisation ? pas vu de bouton rafraichir dispo.

Merci à vous pour vos réponses et votre aide.

Autre : pour accéder au plugin suivi conso (plugins=>energie=>suiviconso) l’affichage des équipements met 7 secondes à s’afficher (mouline). c’est le seul.

Normalement de base c’est tous les 3 h. Après je pense que rien ne t’empêche de recréer manuellement un autre cron avec la fréquence que tu souhaites. Pour avoir 58 min, je penses que c’est déjà ce que tu avais fait.

J’ai modifié le cron 3h en toutes les heures 58. Mais je n’arrive pas à créer un 2ème cron pour toutes les heures 28. limite de jeedom peut être si les noms sont identiques

Effectivement, je viens d’essayer, cela ne marche pas non plus. Pourtant dans mon cron, j’en ai bien plusieurs avec le même nom. Exemple: Calendar

Sinon tu modifies l’actuelle en mettant 28 * * * * *

J’ai essayé, après enregistrement la ligne n’apparait pas. Etonnant. Mais rassuré que ça te le fasse aussi. T’es super. merci pour ta réactivité de réponse. Dommage ça m’aurait bien aidé de pouvoir faire un update à H28 et H58 par rapport à mes scenaris et virtuels. Et bizarre que seul suivi conso ne le fasse pas.

Je corrige : en modifiant l’actuel ça fonctionne. Mais j’ai besoin de H28 ET H58 (donc 2)

Si tu mettais toutes les 30 minutes, ça n’irait pas?

et pour faire H28, c’est 28 * * * * et non 28 * * * * *
je ne veux pas le faire toutes les 28 minutes mais à H28

Non toutes les 30 minutes n’irait pas car j’ai des calculs qui basculent en fin de mois : donc récupération le dernier jour du mois pour mettre dans une variable (à H58) si je fais toutes les 30 minutes nous passerons au jours suivant. :wink:

et si je fais toutes les 29 minutes ça va décaler de jour en jour

et ça va s’exécuter en même temps que les crons 5, 10, 15, Heure (j’optimise la charge :slight_smile: )

et faire un scenario qui update la table à H28 ? pas jouable ?

Non cela ne marchera pas.
J’ai réussi à créer un autre cron avec Adminer, mais ensuite il a été supprimé

merci superbricolo. c’est fou ça. bon je m’en passerai

Je peux modifier le programme et te créer un autre cron pour essayer

1 « J'aime »

Bah pas juste pour moi sinon sera supprimé à la prochaine mise à jour. Mais si tu le fais pour tout le monde avec plaisir. ça peut servir je pense pour ceux qui voudraient avoir les relèves à 2 moments précis.

On peut déjà essayer pour en mettre 1 spécifique pour répondre à ton besoin et voir ce que cela donne.
Ensuite en fonction du résultat, soit j’inclus ça avec une option et un choix de paramétrage, où alors je crée une commande « synchroniser » qui sera exécutable par scénario. D’ailleurs le mieux ce serait ça, mais je ne sais pas trop où la mettre.

Je peux essayer de faire le cron ce soir dans un premier temps

Hello,

Voici le code a exécuter dans un bloque scenario pour crée un second cron :

	$cron = new cron();
	$cron->setClass('conso');
	$cron->setFunction('UpdateTable');
	$cron->setEnable(1);
	$cron->setDeamon(0);
	$cron->setSchedule('0 */1 * * *');
	$cron->setDeamonSleepTime(180);
	$cron->setOption(array("cron"=>1));
	$cron->save();

A toi de édit en conséquence.

Cdt
Thibaut

Merci @Thibaut_T, j’avais bien le code. Aurais-tu une idée pourquoi on arrive pas à recréer un nouveau cron manuellement en faisant « ajouter » dans le moteurs de tâches

Yes, c’est a cause de Jeedom, je suis allez voir le code pour voir comment lui faire croire a une fonction différente.

Ps : Je viens de mettre un petit update du bloc code
PPs : Fonction presave dans la class cron :

/**
	* Check if cron object is valid before save
	* @throws Exception
	*/
	public function preSave() {
		if ($this->getFunction() == '') {
			throw new Exception(__('La fonction ne peut pas être vide', __FILE__));
		}
		if ($this->getSchedule() == '') {
			throw new Exception(__('La programmation ne peut pas être vide : ', __FILE__) . print_r($this, true));
		}
		if ($this->getOption() == '' || count($this->getOption()) == 0) {
			$cron = cron::byClassAndFunction($this->getClass(), $this->getFunction());
			if (is_object($cron)) {
				$this->setId($cron->getId());
			}
		}
	}

C’est elle qui vérifie si identique

Cdt
Thibaut

Et pourtant dans mon jeedom j’ai des cron Calendar identique

Et il doit y avoir aussi un autre contrôle ailleurs, Car j’ai crée un cron avec Adminer, et il a été supprimé au bout d’un moment

@superbricolo Elle sont toute différentes, elle ont des option qui sont invisible dans cette interface.

Cdt
Thibaut