Add communication with the scheduler (through socket)

This commit is contained in:
nemunaire 2014-11-23 18:06:18 +01:00
parent 469b7046f2
commit 87af2e3506
4 changed files with 14 additions and 1 deletions

1
TODO
View File

@ -8,7 +8,6 @@
** Onyx
*** TODO Mettre à jour Smarty (et passer en « secure mode » ?)
** Admin
*** TODO Au moment du lancement du chrono, ouvrir la socket de communication avec le scheduler et lui ajouter la directive all:S pour regénérer toutes les équipes
*** TODO Lors de l'import des XML, retirer l'éventuel / en début de path
*** TODO valider les documents avec la DTD à l'import
*** TODO upload/MAJ de fichiers depuis l'interface d'admin?

View File

@ -10,6 +10,7 @@ if (count($p) > 2)
{
case "start":
file_put_contents($VAR["misc_dir"]."/challenge_started", time() + (intval($_POST["time"]) - 240) * 60);
pipe_backend_scheduler("resetreset:HOME:all:SY");
break;
case "init":

View File

@ -100,7 +100,10 @@ if (!empty($_FILES["inputFile"]['tmp_name']))
if ($error != "")
erreur($error);
else
{
pipe_backend_scheduler("resetreset:RTEAMS:HOME:all:SY");
erreur("Fichier XML importé avec succès.", "success");
}
}
return "admin/import_users";

View File

@ -22,6 +22,16 @@ if (is_file($VAR["misc_dir"]."/challenge_started"))
$template->assign("END", $VAR['end_challenge']);
}
function pipe_backend_scheduler($instruct)
{
$socket = socket_create(AF_UNIX, SOCK_STREAM, 0);
if (is_writable($VAR["scheduler_socket"]) && socket_connect($socket, $VAR["scheduler_socket"]))
{
socket_write($socket, $instruct);
socket_close($socket);
}
}
if (!empty($VAR['misc_dir']))
$template->assign("MISC_DIR", $VAR['misc_dir']);
if (!empty($LANG))