Repository 32bit  Forum
Repository 64bit  Wiki

automatizzare programmino java

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

automatizzare programmino java

Messaggioda Ser8200 » mer ago 27, 2008 9:49

Ciao a tutti,

volevo chiedervi come poter lanciare un determinato programma scritto in java, ad esempio ogni ora?

In pratica io devo lanciare un programma, che prende dati da un db e manda mail di notifica se necessario, in automatico ogni ora.

grazie per il vostro aiuto,

Sergio :D
Avatar utente
Ser8200
Linux 2.0
Linux 2.0
 
Messaggi: 170
Iscritto il: gio apr 22, 2004 23:00
Località: Venosa
Slackware: 12

Re: automatizzare programmino java

Messaggioda conraid » mer ago 27, 2008 9:58

cron

Ogni ora è anche semplice, fai uno script che richiama tale programma e lo metti in /etc/cron.hourly
Se il file avrà i permessi di esecuzione verrà eseguito altrimenti no
Avatar utente
conraid
Staff
Staff
 
Messaggi: 11987
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: automatizzare programmino java

Messaggioda Ser8200 » mer ago 27, 2008 10:01

ok, grazie. Ma io non ho mai usato cron!! puoi indacarmi qualche linea guida o qualche info su cron? grazie di nuovo
Avatar utente
Ser8200
Linux 2.0
Linux 2.0
 
Messaggi: 170
Iscritto il: gio apr 22, 2004 23:00
Località: Venosa
Slackware: 12

Re: automatizzare programmino java

Messaggioda conraid » mer ago 27, 2008 10:10

Ser8200 ha scritto:ok, grazie. Ma io non ho mai usato cron!! puoi indacarmi qualche linea guida o qualche info su cron? grazie di nuovo


man crontab

Ma come ti ho detto non ti interessa molto, ti servirebbe se vuoi fare qualcosa ogni tot minuti, ogni momento specifico insomma.
Per ogni ora, ogni giorno, ogni settimana ed ogni mese ci sono 4 directory
/etc/cron.daily
/etc/cron.hourly
/etc/cron.monthly
/etc/cron.weekly

Per eseguire uno script ogni ora basta metterlo dentro cron.hourly

Per esempio io li ho quello per aggiornare il planet di slackers.it
In cron.daily vedrai degli esempi

Naturalmente questi script saranno eseguiti da "root".
Per modificare il comportamento, o fare script per un utente, guarda il file per root in /var/spool/cron/crontabs che è anche il responsabile del comportamento delle directory di cui sopra.
Avatar utente
conraid
Staff
Staff
 
Messaggi: 11987
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: automatizzare programmino java

Messaggioda francogdn » mer ago 27, 2008 10:11

http://openskill.info/infobox.php?ID=368


edit: scusa conraid, quando ho postato non mi ha avvertito della tua risposta :-k
Ultima modifica di francogdn il mer ago 27, 2008 10:30, modificato 1 volta in totale.
Avatar utente
francogdn
Linux 2.4
Linux 2.4
 
Messaggi: 320
Iscritto il: ven mag 19, 2006 9:52
Località: Torino
Distribuzione: Fedora

Re: automatizzare programmino java

Messaggioda Ser8200 » mer ago 27, 2008 10:20

grazie di nuovo per il vostro aiuto, adesso è tutto chiaro. devo solo fare un script che lancia la mia applicazione e inserirlo oppurtunamente nel file /etc/cron.hourly.

Ciao e grazie :D
Avatar utente
Ser8200
Linux 2.0
Linux 2.0
 
Messaggi: 170
Iscritto il: gio apr 22, 2004 23:00
Località: Venosa
Slackware: 12

Re: automatizzare programmino java

Messaggioda conraid » mer ago 27, 2008 10:38

francogdn ha scritto:http://openskill.info/infobox.php?ID=368


edit: scusa conraid, quando ho postato non mi ha avvertito della tua risposta :-k


Non saprei nemmeno come fare ;-)

A volte phpbb salta la segnalazione di un post inviato mentre scrivi anche a me
Avatar utente
conraid
Staff
Staff
 
Messaggi: 11987
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: automatizzare programmino java

Messaggioda gil-galad » mer ago 27, 2008 11:48

Potresti anche provare a sviluppare in java usando i thread (addormenteresti il thread per un ora), in questo modo il programma sarebbe sempre attivo e autonomo (non dipenderebbe da altri la sua esecuzione) e sarebbe anche un utile esercizio di programmazione :P

Ciao.
Avatar utente
gil-galad
Linux 1.0
Linux 1.0
 
Messaggi: 57
Iscritto il: mer mag 07, 2008 20:57
Slackware: 12.1

Re: automatizzare programmino java

Messaggioda Ser8200 » mer ago 27, 2008 11:59

gil-galad ha scritto:Potresti anche provare a sviluppare in java usando i thread (addormenteresti il thread per un ora), in questo modo il programma sarebbe sempre attivo e autonomo (non dipenderebbe da altri la sua esecuzione) e sarebbe anche un utile esercizio di programmazione :P

Ciao.


si in effetti protrebbe essere un soluzione..ci proverò, grazie per il consiglio :thumbright:
Avatar utente
Ser8200
Linux 2.0
Linux 2.0
 
Messaggi: 170
Iscritto il: gio apr 22, 2004 23:00
Località: Venosa
Slackware: 12

Re: automatizzare programmino java

Messaggioda Blizzard » mer ago 27, 2008 12:45

gil-galad ha scritto:Potresti anche provare a sviluppare in java usando i thread (addormenteresti il thread per un ora), in questo modo il programma sarebbe sempre attivo e autonomo (non dipenderebbe da altri la sua esecuzione) e sarebbe anche un utile esercizio di programmazione :P

Ciao.

sono d'accordo con l'esercizio di programmazione ma se il programma gli è utile e comunque deve girare il metodo dei thread non mi sembra molto UNIX.
C'è già un demone in esecuzione permanente che è crond, non credo sia una idea ottimale aggiungerne un altro e in ogni caso appesantire il programma che deve lanciare ogni ora.
Inoltre avresti la virtual machine java in esecuzione permanentemente (brrr....)

il tutto IMHO
Gio
Avatar utente
Blizzard
Master
Master
 
Messaggi: 1509
Iscritto il: mar gen 02, 2007 22:53
Nome Cognome: Giovanni Santostefano
Slackware: 12.2
Kernel: 2.6.27.7-smp
Desktop: Fluxbox

Re: automatizzare programmino java

Messaggioda gil-galad » mer ago 27, 2008 14:56

Blizzard ha scritto:
gil-galad ha scritto:Potresti anche provare a sviluppare in java usando i thread (addormenteresti il thread per un ora), in questo modo il programma sarebbe sempre attivo e autonomo (non dipenderebbe da altri la sua esecuzione) e sarebbe anche un utile esercizio di programmazione :P

Ciao.

sono d'accordo con l'esercizio di programmazione ma se il programma gli è utile e comunque deve girare il metodo dei thread non mi sembra molto UNIX.
C'è già un demone in esecuzione permanente che è crond, non credo sia una idea ottimale aggiungerne un altro e in ogni caso appesantire il programma che deve lanciare ogni ora.
Inoltre avresti la virtual machine java in esecuzione permanentemente (brrr....)

il tutto IMHO
Gio


In genere un programma come lo ha descritto lui, se pur brevemente, non gira sul desktop di casa. Mi aspetto che stia su un server e su una macchina di queste non vedo il problema di avere una virtual machine sempre attiva, ti dirò che possono esserci anche più di una attiva :P

Poi il discorso del fatto essere unix o meno, non tutti i programmi unix usano il cron per eseguire compiti periodici, molti si demonizzano. L'ideale sarebbe aggiungere al programma java la modalità demone, attivabile con un opzione a riga di comando. In questo modo lascerebbe la scelta a chi lo usa sul da farsi :).

Ciao.
Avatar utente
gil-galad
Linux 1.0
Linux 1.0
 
Messaggi: 57
Iscritto il: mer mag 07, 2008 20:57
Slackware: 12.1

Re: automatizzare programmino java

Messaggioda Blizzard » mer ago 27, 2008 15:19

gil-galad ha scritto:In genere un programma come lo ha descritto lui, se pur brevemente, non gira sul desktop di casa. Mi aspetto che stia su un server e su una macchina di queste non vedo il problema di avere una virtual machine sempre attiva, ti dirò che possono esserci anche più di una attiva :P

Poi il discorso del fatto essere unix o meno, non tutti i programmi unix usano il cron per eseguire compiti periodici, molti si demonizzano. L'ideale sarebbe aggiungere al programma java la modalità demone, attivabile con un opzione a riga di comando. In questo modo lascerebbe la scelta a chi lo usa sul da farsi :).

Ciao.

ciao,
IMHO valuterei molte cose.
Come mi è apparso di capire il sistema si sveglia ogni ora ed esegue qualche query su un db ed eventualmente manda qualche mail.
Innanzi tutto valuterei il tempo di esecuzione e in questo caso non credo sia molto lungo, relativamente al tempo in cui è in sleep.
Poi valuterei il fatto che il programma viene eseguito a cadenza regolare e solo in quei momenti.
Sempre IMHO non demonizzerei mai un sistema tale!
Creerei un demone solo quando:
- Il programma può essere risvegliato in un momento indefinito
- Il programma viene eseguito frequentemente
- Il programma è un programma di sistema che necessita di una reattività molto forte
Sono requisiti che non vedo in quel programma (per quanto descritto).
Inoltre se il sistema "non è sviluppato per scopi didattici" vedo ancor meno il motivo per prolungare il suo sviluppo + aggiungere un codice thread safe ben progettato per una cosa che un demone svolge benissimo e con una certa sicurezza.

Se poi per le intenzioni dello sviluppatore avere il programma sempre in esecuzione è un guadagno in qualcosa allora sia!
Separando sempre lo scopo didattico ovvio! sono il primo che reinventa la ruota se questa mi fa apprendere cose utili.

Gio

P.S.
[fondamentalismo]Un demone, se non costretto, lo farei sempre in un linguaggio compilato possibilmente C[/fondamentalismo]
Avatar utente
Blizzard
Master
Master
 
Messaggi: 1509
Iscritto il: mar gen 02, 2007 22:53
Nome Cognome: Giovanni Santostefano
Slackware: 12.2
Kernel: 2.6.27.7-smp
Desktop: Fluxbox

Re: automatizzare programmino java

Messaggioda gil-galad » mer ago 27, 2008 16:52

Valuta anche, che lo startup di una macchina virtuale java richiede un costo in termini di memoria e tempo di esecuzione, come tu sai non proprio trascurabile. Anche se non essendo un sistema realtime quello che si va a implementare, questo aspetto (del costo di startup dico) non è critico.

Però tra le cose che dici le prime due sono leggermente in contrasto IMHO (Il programma può essere risvegliato in un momento indefinito,
Il programma viene eseguito frequentemente), nel mondo unix esistono molti casi di processi demoni che non sono di sistema e che non necessitano di reattività forte.

In ogni caso, avevo leggermente intuito un po del tuo fondamentalismo :p e aggiungo che potremmo discutere qua per ore/giorni ognuno portando acqua al suo mulino :).

<provocazione>Per me potrebbe farlo anche in Visual Basic o VBA o VBSCRIPT</provocazione> :p
Avatar utente
gil-galad
Linux 1.0
Linux 1.0
 
Messaggi: 57
Iscritto il: mer mag 07, 2008 20:57
Slackware: 12.1

Re: automatizzare programmino java

Messaggioda Blizzard » mer ago 27, 2008 17:28

ciao,

Valuta anche, che lo startup di una macchina virtuale java richiede un costo in termini di memoria e tempo di esecuzione, come tu sai non proprio trascurabile. Anche se non essendo un sistema realtime quello che si va a implementare, questo aspetto (del costo di startup dico) non è critico.

infatti! per quanto il peso sia marginale nel caso dell'esecuzione continua come nel caso del loading ogni volta, preferisco occupare la CPU una volta e bene e non sempre per controllare se è scaduta l'ora (sempre nell'ottica che lo fa gia crond) :P

Però tra le cose che dici le prime due sono leggermente in contrasto IMHO (Il programma può essere risvegliato in un momento indefinito,
Il programma viene eseguito frequentemente)

erano condizioni OR, al massimo XOR :D

nel mondo unix esistono molti casi di processi demoni che non sono di sistema e che non necessitano di reattività forte.

perdonami ma non li conosco, anche se sospetto che molti di questi ricadono nella prima condizione che ho detto, ovvero che il programma debba eseguire un compito nel momento in cui utenti o altri programmi lo risveglino (tipo un demone ssh) altrimenti sono sicuro che c'è un motivo ben preciso.

In ogni caso, avevo leggermente intuito un po del tuo fondamentalismo :p e aggiungo che potremmo discutere qua per ore/giorni ognuno portando acqua al suo mulino :)

e lo stiamo facendo ottimamente :lol: non senti gia aria di moto perpetuo su questo mulino???

<provocazione>Per me potrebbe farlo anche in Visual Basic o VBA o VBSCRIPT</provocazione> :p

Immagine
[edit]img un po violenta :D [/img]

scherzi a parte (programmavo in Visual Basic :badgrin: ) sono fondamentalista ma in discussioni come queste cerco di confinare il fondamentalismo in opportuni tag :D
Per quanto riguarda una scelta di design rimango del parere scritto sopra, ben diverso dal linguaggio in cui si sceglie di implementare.

ciao
Gio
Avatar utente
Blizzard
Master
Master
 
Messaggi: 1509
Iscritto il: mar gen 02, 2007 22:53
Nome Cognome: Giovanni Santostefano
Slackware: 12.2
Kernel: 2.6.27.7-smp
Desktop: Fluxbox

Re: automatizzare programmino java

Messaggioda gil-galad » mer ago 27, 2008 20:28

Un programma che può essere un demone con i permessi da user non privileggiato è fetchmail, può essere usato come demone o sul cron :).

Poi, se demandi al cron l'esecuzione di un processo, devi considerare che l'affidibilità complessiva è minore rispetto all'esecuzione del programma java come demone :p

Comunque, stiamo andando mooolto off topic (mi meraviglia che non ci abbiano ancora menato :lol: :lol: ).

Per il fondamentalismo prima ero più rigido sul mio modo di pensare, poi con la vecchiaia sono migliorato (o peggiorato a seconda dei punti di vista) e lo sono un po meno :p

P.S.
Possiamo continuare in chat in privato, il mio contatto jabber è sul profilo

Ciao :).
Avatar utente
gil-galad
Linux 1.0
Linux 1.0
 
Messaggi: 57
Iscritto il: mer mag 07, 2008 20:57
Slackware: 12.1

Prossimo

Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite