Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Arrivare a crontab da un sito in angular.js

    Ciao a tutti,
    ho un problema tecnologico-architetturale, se così si può dire, per via della mia inesperienza.

    Mi spiego, ho un sito il cui lato client è scritto in javascript (angular.js) e il lato server in Java.
    Mi è stato chiesto di aggiungere una funzionalità a tale sito, ovvero delle operazioni pianificate. In pratica, ogni X di tempo, in una certa cartella dovrebbero essere creati dei file con dei resoconti. I dati per tali resoconti sono ovviamente in una base dati (postgres, per la cronaca).

    Specifiche per esempi (che ora vanno di moda): l'utente dal suo browser decide che ogni giorno (o mese...) a mezzanotte debba essere creato un file con tutte le vendite del settore Alfa ed altre statistiche. La nuova attività viene memorizzata sul server e periodicamente eseguita.

    Mi sembra scontato che in qualche modo l'utente debba agire sulla crontable del server linux dall'interfaccia del sito web, affinché si crei una nuova riga di crontab per ogni nuovo resoconto aggiunto.

    So fare l'interfaccia web e il comando per cron, ma con imbarazzo ammetto che non saprei come arrivare alla console partendo dal browser. Che stategia mi consigliate?

    Nel senso, l'utente definisce il resoconto e clicca "salva". Che dovrei fare da quel momento in poi per "attaccare" il client con la crontab di Linux sul server e quali tecnologie suggerireste?

    Forse è qualcosa di ovvio per gli addetti ai lavori, ma non sono riuscito a trovare la guida giusta cercando sia sul forum che su internet.
    Libero > imposto
    Lunux > Windows
    Esperanto > lingua del padrone
    Kirek
    (dove > è "maggiore di")

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Se pur non conoscendo ne angular né tanto meno Java, e avendo capito poco di quello che vuoi fare forse può esserti utile Ajax. Guide specifiche contestuali dubito che ci siano
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Uhm... cerco di essere più chiaro.
    crontab è un comando Linux. Gli si passa un orario, un riferimento temporale (esempio il primo giorno del mese) e un comando da eseguire. Quindi a quel certo orario, ogni primo del mese, quel comando sarà eseguito.
    (È solo un esempio, cron fa anche molto di più: http://www.lanzagiuseppe.it/guida_cron_50.html )

    Ho pronto un formulario, (modulo, form, come vogliamo chiamarlo...) dove immetto dati: immaginiamo di inserire che vogliamo generare un rapporto ogni primo del mese. Quando si preme "Salva" il server dovrebbe ricevere i dati e trasformarli in un comando per console nel quale si aggiunge a crontable il nuovo comando.

    Dai vaghi ricordi di quando lavoravo con php, nei formulari potevo assegnare valori nei vettori $get e $post e passarli così ad una pagina che li leggeva e creava, ad esempio, query, comandi ecc. PHP è lato server ma angular.js è lato client, questo mi blocca, non so come passare «dall'altro lato» le informazioni inserite dall'utente.

    Ora seguo una guida di Angular (https://docs.angularjs.org/guide/forms) e vedo solo assegnamenti di valori a variabili nei formulari, ma non capisco come vedere quelle variabili dal lato server, in modo da definire i comandi Linux che mi servono per aggiungere a crontab comandi per generare i rapporti come definito dall'utente.
    Ultima modifica di cofra347; 31-12-2015 a 16:26
    Libero > imposto
    Lunux > Windows
    Esperanto > lingua del padrone
    Kirek
    (dove > è "maggiore di")

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Ora mi è più chiaro, ma non so come aiutarti, e se non hai trovato nulla in merito sul sito ufficiale boh....
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Mi sembra scontato che in qualche modo l'utente debba agire sulla crontable del server linux dall'interfaccia del sito web, affinché si crei una nuova riga di crontab per ogni nuovo resoconto aggiunto.
    Non è il caso...

    Salva le richieste degli utenti nel db postgres, quindi crei un unico cron-job (vedi tu con quale intervallo di tempo eseguirlo) che esegua le richieste quando necessario.

  6. #6
    Grazie, forse è la cosa migliore, o almeno la più facile per me.

    Probabilmente è possibile creare un trigger in postgres il quale, quando una tabella viene modificata (nel mio caso la tabella contenente i rapporti pianificati dagli utenti), chiama uno script o un programma che potrebbe sincronizzare crontab con la tabella dei rapporti nel DB.
    Libero > imposto
    Lunux > Windows
    Esperanto > lingua del padrone
    Kirek
    (dove > è "maggiore di")

  7. #7
    Quote Originariamente inviata da cofra347 Visualizza il messaggio
    Probabilmente è possibile creare un trigger in postgres il quale, quando una tabella viene modificata (nel mio caso la tabella contenente i rapporti pianificati dagli utenti), chiama uno script o un programma che potrebbe sincronizzare crontab con la tabella dei rapporti nel DB.
    Esegui lo script al momento del salvataggio sulla tabella, che bisogno c'è di creare triggers...?

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.