Monitoramento

1. Monitoramento

Rodrigo
rodrigofl20

(usa Linux Mint)

Enviado em 24/11/2016 - 15:13h

Pessoal, estou com dificuldades pra deixar um script rodando full.
Peguei esse script na documentação da biblioteca, porém da forma que está escrito por padrão, o script precisa que se aperte "ENTER" para que seja encerrado, segue:

import cx_Oracle
import os

def DCNCallback(message):
for tab in message.tables:
for row in tab.rows:
if row.operation & cx_Oracle.OPCODE_INSERT:
os.system('echo \"Table: %s || INSERT rowid: %s\" && date > teste.log' % (tab.name,row.rowid))
if row.operation & cx_Oracle.OPCODE_DELETE:
os.system('echo \"Table: %s || DELETE rowid: %s\" && date > teste.log' % (tab.name,row.rowid))

con = cx_Oracle.Connection("user/pass@banco",events = True)
subscriptionInsDel = con.subscribe(callback = DCNCallback, operations = cx_Oracle.OPCODE_INSERT | cx_Oracle.OPCODE_DELETE, rowids = True)
subscriptionInsDel.registerquery('select * from my_teste')
raw_input("\n")

A última linha do script é a que saí com o ENTER, porém eu gostaria de deixar ele rodando sem parar, em segundo plano.
Tentei usar "while True:" mas sem sucesso. Alguém tem alguma ideia?


  


2. Re: Monitoramento

Rodrigo
rodrigofl20

(usa Linux Mint)

Enviado em 25/11/2016 - 09:30h

up pra salvar.


3. Re: Monitoramento

Rodrigo
rodrigofl20

(usa Linux Mint)

Enviado em 29/11/2016 - 11:13h

up


4. Re: Monitoramento

Emanuel
manel_

(usa Arch Linux)

Enviado em 04/12/2016 - 05:01h

rodrigofl20,

Usa recursividade. Faz a chamada pra função novamente antes do enter. Se quiser coloca um temporizador também.
Ex:


import time

def suafuncao(argumentos):
comandos...
comandos....
time.sleep(20)
suafuncao(argumentos)







Linux User #555844






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts