« first day (1720 days earlier)      last day (1370 days later) » 

12:26 AM
0
Q: ¿Bajo qué circunstancias puedo agregar "urgente" o frases similares a mi pregunta para obtener respuestas más rápido?

jachguateCon frecuencia tenemos personas que desean obtener rápidamente respuestas a una pregunta, y terminan añadiendo frases destinadas a obtener soluciones rápidamente. En mi experiencia, estas incluirán: Esto es urgente (para mi) ¡Por favor, respondan lo antes posible! Estoy bajo una fecha límite/de ...

 
12:36 AM
@LucasDamian Como va todo ?
 
todo bien aquí, por cenar
Esperando con la pizza
 
Ah que bueno
 
y tú?
 
Acá con problemas en un script python en sacar una respuesta.
Crees que me puedas ayudar
?
 
vengo un rato, dale
 
12:37 AM
Dale me avisas
 
 
2 hours later…
2:31 AM
estas?
 
Si
@LucasDamian Estas ?
 
 
3 hours later…
5:41 AM
jajaja
volví a ganar
 
5:55 AM
@DavidDPG Capaz eres de pegarte el madrugón solo ser el madrugator :-p
 
6:10 AM
me levanto a las 6
para hacer ejercicio
@Trauma eeyy, por cierto
 
@DavidDPG eeyy tú ;-p
jejeje
Yo a las 06:30 ... para tomar café :-)
Con caña de chocolate
Es lo que hay, unos cuidan la línea ... y otros el peñon xD
Tengo que reiniciar Firefox
Ahora vuelvo
 
6:50 AM
buenos días
 
@Trauma recuerdo cuando era mi titulo
 
@lois6b jejeje ... hace tiempo ya ... te estás volviendo viejo y lento ...
xDD
 
@Trauma viejo todos, lento... depende pa que
yo estaba operativo antes que @DavidDPG pero no en el chat XD
 
Hombre, en algunas cosas interesa ser lento
 
La juventud es un sentimiento, no un hecho fisico
 
6:54 AM
de verdad que voy camino de convertirme en un viejo verde
 
@Trauma Confesiones con café y caña by Trauma
 
xDDD
Igual monto un blog y todo
 
Yo estoy empezando a pensar montarme una web con las enfermedades de código que realizo
 
@NicolasOñate Espero que obligues al uso de mascarilla a todos los visitantes
Por su propio bien xDD
 
@Trauma Lo incluiré en la aceptación de cookies jajajajjaja
 
7:04 AM
:-D
Si acepta continuar, usted es el único responsable de lo que le ocurra a su mente
 
jajajajajjaja
Al aceptar esto Nicolás Oñate© no se hace responsable de posibles jaquecas, implosiones y efectos derivados de su lectura
 
jejeje
Pero, por si acaso ... yo no pondría tu nombre real
;-)
hora de café y cigarrito
lo bueno de estar solo
es que solo tengo que abrir la ventana
:-D
 
@Trauma no me la jugaria por vivir en la era de las camaras
aparte ahora hace fresquete en la calle
 
Está comprobado ya, no hay
es un edificio de alquiler, y dentro de los locales tienen que montarlas los alquiladores
y mi empresa no ha montado
Bueno, en realidad abro la puerta a una mini-balcón
me siento en la mesa justo al lado de esa puerta
 
7:20 AM
Que bien vives
 
@NicolasOñate No me quejo ...
... pero siempre se puede mejorar O_o
 
7:50 AM
@NicolasOñate Jejeje ... he descubierto como poner el hilo musical :-)
Y tiene entrada de audio externa :-O
Mañana me traigo la Rpi y pungo musica t'oguapa
 
¡Buenos días!
 
8:10 AM
@Trauma Hilo musical?
 
@NicolasOñate Sip
Los típicos altavoces en el techo
se puede tomar del general del edificio
o conectarle tu algo
hoy está conectado al edificio
mañana ... jejeje ... ya veremos
 
@Trauma Mañana sonidos guturales de guitarras
 
@NicolasOñate Nope. Mañana 8 horas de sonidos de ventiladores de un Centro de Datos
Me relaja
 
8:40 AM
Wenas
 
9:26 AM
@JoseAntonyMundacaAngeles hey, estás madrugando hoy
 
@MauricioContreras asi es , estoy programando desde hace 20 horas
 
@JoseAntonyMundacaAngeles vaya, descansar un poco también es válido y saludable
 
@MauricioContreras los requerimientos urgentes
:(
 
No se como podeis hacer eso, +horas != +eficiencia
+horas == +problemasMentales
El cerebro tiene su limite, si te pasas 20 horas programando sin parar, lo que hagas solo ira a peor y encima teniendo que deshacer lo que hicistes, el descansar no es malo, aunque se te acabe el plazo
es más eficiente dividir los tiempos de trabajo con descansos, asi dejas que tu cerebro se libere
 
9:43 AM
@NicolasOñate lo que pasa es que por tiempos de reactivación en el perú , se esta haciendo todo un loquerio aqui
 
si no te vas a sentir como un estupido cuando hayas estado 3 horas buscando un problema y a la mañana siguiente lo soluciones en 5 minutos
@JoseAntonyMundacaAngeles pero es una tarea de clase o trabajo?
 
@NicolasOñate es trabajo
 
@JoseAntonyMundacaAngeles Solución sencilla: derechos laborales
tienes derecho a cumplir tu horario, ni una hora mas ni una menos
 
ya solo me quedan algunas cosas , las pruebas las are hoy en la tarde, toda la mañana me la pasare durmiendo.
@NicolasOñate creeme que si , me gustaria, pero necesito el dinero
y mas en tiempos de pandemia
 
@JoseAntonyMundacaAngeles te comprendo, pero recuerda que tienes tus derechos
No por ello pueden explotarte hasta desfallecer
 
9:47 AM
@NicolasOñate conozco de cerca el sistema laboral peruano, tiene de todo menos lo escencial: respeto al trabajador. IMHO.
@NicolasOñate siempre encontrarán alguien, es la premisa allá. Trabaja o consigo a otro, los contratos se los pasan por el fundillo.
 
@MauricioContreras Bueno yo es que tengo muy claro que si mi horario es de 8 a 17, a las 17:01 salgo por la puerta y si me dicen algo enseño mi contrato y pregunto por el pago de las horas extra jajaja
 
@NicolasOñate , mauricio tiene toda la razón , el trabajo aqui es muy explotador
claro , eso incluye mis horas extras
si solo son 8 horas
mis horas extras son otro tema
pero como es teletrabajo
 
@JoseAntonyMundacaAngeles ah, si te lo pagan eso es otro cuento
 
@NicolasOñate porsupuesto que me lo pagan , si no , no me desvelaria tanto
 
aunque sigo pensando que trabajar de mas no es eficiente
 
9:52 AM
@NicolasOñate te doy la razón , en eso no discuto
 
@JoseAntonyMundacaAngeles el teletrabajo, es un gran paradigma, es bueno si esta bien estipulado, pero si no... yo en la cuarentena teletrabajando lo pase mal
entre el no poder salir, como estaba en casa a lo tonto hacia mas horas y que mi sitio de ocio y de trabajo eran el mismo...
 
@NicolasOñate y mas cuando no esta tu sensei para que alveces te enseñe o te de una pista de como solucionar un problema
 
@JoseAntonyMundacaAngeles También jajajajja
 
@NicolasOñate asi es , como aun soy novato con 1 año de experiencia nomas
 
 
2 hours later…
11:39 AM
Por hoy ya vale. Mañana, mas. Y muy posiblemente mejor :-/
 
 
2 hours later…
1:40 PM
buenos dias
 
Buenos dias..
@gbianchi Estas ?
 
buen dia.. si si
 
@gbianchi Tengo esa consulta.. Y quisiera obtener ese resultado que aparece en la tabla es posible ?
 
@JuanPerez ponele que si.. pero los datos de adentro no se de donde salen.. y no me digas de la columna estado porque dice running (que no es ninguna columna) o up, que tampoco lo es... o sea.. de donde queres sacar esos datos???
 
@gbianchi Es que los estados estan dentro de la columna estado
 
1:48 PM
si... y todo lo que esta en las columnas estados donde esta?
eso es una tabla pivotante.. se entiende sobre que columna pivoteas, pero no que datos vas a meter adentro...
 
@gbianchi Se deberia pivotear de la columna estado ?
 
@JuanPerez claro
 
@gbianchi Pero no tengo muy claro como debería hacer para la consulta pivotearla
 
@JuanPerez documentacion....
yo no tengo nada claro como vas a llenar los datos que van en esas columnas
 
Buenas, perdón que me me meta. @JuanPerez, en lo que has mostrado falta la columna operacion, de dónde sale?
 
1:57 PM
@PatricioMoracho ah pense que habia dejado claro que faltan datos... :p
ejecucion tambien te falta
y conexion tambien.. :p
y metase hombre que para eso es el chat!
 
@gbianchi Lo que pasa es que Juan ya me estuvo preguntando y me quedó una idea. Son como dos grupos de datos diferentes producto de correr dos comandos distintos por servidor, lo que me parece que busca es agrupar por servidor y que los dos posibles estados Conexión y Ejecución se lo muestre de forma horizontal
El tema es que no se distingue cual va en una columna y cual en otra
Por ejemplo para el Servidor db01 la conexión esta Up y el servicio está running
 
complicado entonces.. mas de hacer con un solo comando sql
 
3:05 PM
Eso no pasaría en noSQL. XD
 
@gbianchi consulta bro
 
y no.. porque por suerte nadie con 2 dedos de frente usaria ese tipo de base de datos para guardar esos datos :p
 
Me esta dando el siguiente error: El método 'set_ServicioSuministroRepository' en el tipo 'Test.Entity.Oracle.Gas.GasData' del ensamblado 'Test.Entity.Oracle.Gas, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' no tiene una implementación.
que puede ser ?
 
que el metodo no esta implementado?
 
o sea ?
 
3:08 PM
que tenes que implementar el metodo?
 
@gbianchi :3
 
@gbianchi lol
osea registrar la dependencia ?
o que metodo tendria que implementar ?=
 
ni idea...
 
ese metodo set_servicio no existe, se ve que es
 
no veo tu codigo...
 
3:09 PM
pero mas o menos que tendria que hacer ?
 
ni idea
 
dah
 
implementarlo?
 
y como haria eso jajaj ?
puede ser que pueda ser por Virtual u Override algo de eso ?
 
 
1 hour later…
4:35 PM
@gbianchi @PatricioMoracho Es que las columnas de (operacion,conexion y ejecucion) se van a colocar como pivot y los valores se encuentran en la columna Estado
 
@JuanPerez los valores de cual de esas tres columnas?
 
@gbianchi Si correcto
 
@JuanPerez eh... los valores de cual de esas tres columnas? o sea.. vos generas 3 columnas.. con que valores llenas cada columna?
 
@gbianchi Fija aca:
db01a running
db01a up
db01a active
 
@JuanPerez En las imagen que mostraste de lo que serían tus datos iniciales, no hay ninguna columna que tenga los valores "active(1)" o "Standby(2)"
 
4:38 PM
@PatricioMoracho Estan en la columna estado.. Ya muestro toda la informacion
 
@JuanPerez eh... a ver.. capaz no me explico bien... que dato vas a poner en cada una de esas columnas? o sea.. generas una tabla con 3 columnas nuevas.. y los datos para cada fila, de donde salen? no pueden salir todos de la columna estado, porque la columna estado es por la cual pivoteas...
 
@gbianchi @PatricioMoracho Asi esta la data en la tabla
 
Ok, pero entonces falta una columna que nos diga que por ejemplo up/down correspondería a Conexión y así con cada cosa. A ver, como poder se puede resolver sin saber esto pero es sumamente frágil
 
A veces me parece que queres resolver estas cosas magicamente con un query no son la mejor opcion....
 
:(
@gbianchi @PatricioMoracho Se van agrupar por la columna "nombreServidor"
 
4:42 PM
o sea.. pensa en lo que nos decis.. vas a hacer una tabla que como columnas va a tener el device... running.. up... active.. standby... y despues, en cada fila, que vas a poner?
 
O de esa manera no se puede agrupar sin necesidad de colocar otra columna
En cada fila va a ir:
db01a running up active
db01b running up standby
 
Como idea podes hacer algo así solo con la columna conexión
select nombreServidor,
       max(case when estado in ('up', 'down') then estado else null end) as conexion
       from estados_plataforma
       group by nombreServidor
 
@JuanPerez esto es distinto a lo que mostraste ayer
 
@gbianchi No me supe explicar lo siento
 
@JuanPerez eso, no es una pivotante...
 
4:46 PM
Tenés que resolver el filtro para quedarte con las últimas lecturas si hay varias, y replicar lo que hice para conexión para cada una de las columnas que salen de estado, agregando todas las posibles opciones que podrías recibir.
 
Y se puede hacer que el segundo valor del
case when estado in ('up', 'down')
 
Es super frágil esto, lo ideal es que tuvieras una tipificación de cada tipo de información para identificar cada fila.
 
No se limite porque puede venir otra cosa por ejemplo que no sea 'down'
Por ejemplo porque no se que otra respuesta seria diferente de standby
E igual de active
 
Igualmente, no ve por que no puedes resolverlo directamente del Script python. Simplemente recorres la lista de servidores, tiras cada comando que genera esta salida y los asocias todos al servidor que estas consultando.
 
@PatricioMoracho Asi hice el script python
 
5:02 PM
Antes de responderte, supongamos que solo existe un servidor, las columnas operación, conexión y ejecucion son estados que salen de 3 comandos distintos (o del mismo con distintos parametros) o de un solo comando? y por cierto, cuidado @JuanPerez con las contraseñas que estás mostrando
 
Esos son titulos en la cela nada mas..
 
lo borre por si acaso.. lo de las dires y los pwds te lo dijimos varias veces.. tene mucho cuidado porfa
 
@gbianchi Disculpa se me olvido borrarlas..
Y cuando fui a borrar el mensaje ya no pude
 
celda? si claro son títulos, pero pregunto por los valores que hay en esas celdas, de dónde salen? son estados que salen de 3 comandos distintos (o del mismo con distintos parámetros) o de un solo comando?
@gbianchi Gonzalo, bien! fijate que tengo un room con Juan en el que compartió lo mismo
 
5:36 PM
@PatricioMoracho Ah salen de un mismo parametro
 
@JuanPerez ¿De un mismo comando querés decir?
 
@PatricioMoracho Salen de un mismo campo pero diferente parametros
 
5:54 PM
aloha~
 
@fredyfx que hay bro!
 
@JuanPerez a ver, por que no estoy seguro de entender, por cada servidor ejecutas más de un comando (no importa que tal vez sea el mismo), es así?
 
@farsSharp hey! aquí contento bro, mañana webcast con la gente de .Net University
 
@PatricioMoracho Creo que estas confundido.. Que parte no me comprendes ?
 
@fredyfx que genial, exito en el webcast
 
6:08 PM
@farsSharp gracias :D
de aquí vamos con la temporada de webcast en SOes
 
@JuanPerez, Quería entender como era el proceso de captura de los datos, por que me parece el tema pasa por ahí. Hasta ahora sé que hay una lista de servidores, por cada uno se ejecuta un programa para obtener información de ellos (acá va mi pregunta, se hace una sola ejecución o ejecutas varia cosas para obtener la información que necesitas?)
 
@PatricioMoracho Son varios comandos que entregan el estado de cada equipo, los nombres de los servidores solo se desea asociar con el comando ejecutado
for j in comandos:
    stdin, stdout, stderr = client.exec_command(format(j))
    stdin.flush()
    salida = stdout.read()
    for trozo in salida.strip().split("SIPWISE-NGCP-MONITOR-MIB::"):
        datos = re.findall("hbStatus(?:Proc|Host|Node)\.(\d+) = INTEGER: ((\w+)\(\d\))", trozo, re.M)
        mystring = trozo.replace('\n', '').replace('\r', '')
        for d in datos:
            arreglo.append({
              "comando" : j,
              "key"     : d[0],
              "valor"   : d[2]
@PatricioMoracho Aca, se ejecuta para obtener el estado que vendria siendo (running, failed, up, etc, etc)
for i in comandos1:
    stdin, stdout, stderr = client.exec_command(format(i))
    stdin.flush()
    salida = stdout.read()
    for trozo in salida.strip().split("SIPWISE-NGCP-MIB::"):
        datos = re.findall('cnName.(\d+) = STRING: "(.+)"', trozo, re.M)
        for d in datos:
            arreglo1.append({
              "comando"   : i,
              "key"       : d[0],
              "valor"     : d[1]
            })
@PatricioMoracho Aca, se esta sacando el nombre de cada servidor como lo son (db01a,db01b,lb01a,etc,etc,)
Entonces la idea es asociar ese nombre del servidor con el comando que se ejecuto en el primer for
@PatricioMoracho Hasta ahi me explico ?
 
saludos @PatricioMoracho, gracias por el RT :D
 
6:45 PM
Hola @fredyfx, suerte con eso, trataré de estar
@JuanPerez, olvidemos el código por un rato. Pensemos en abstracto, tenemos un conjunto de servidores a los que queremos verificar ciertos estados, mediante la ejecución de uno o más comandos y procesar la salida de estos y asociarla a cada servidor. Es esto no?
 
@PatricioMoracho Correcto.
 
@fredyfx saludos
 
Te cuento como lo resolvería, por ahora sin código, solo conceptos.
1. Armo una lista con tuplas, cada tupla debería tener, nombre del servidor, comando1, comando2, camndoN
2. Recorro cada elemento de la lista, en el caso de los comandos podríamos meter otra lista, peo lo hago simple, tengo 3 comandos. Ejecuto el 1 capturo salida el 2 y el 3 lo mismo
 
Correcto
 
3. Estoy siempre con un servidor de la lista, tengo el nombre, ejecuté los comandos y tengo las tres salidas
4. Agrego en una nueva lista una nueva tupla con el nombre del servidor, salida del comando 1, salida del comando 2, salida del comando 3.
5. Cuando terminé de recorrer la lista de servidores, el resultado es una nueva lista con los mismos servidores y las tres salida para cada uno. Ahora ya tenemos asociado cada resultado a un único servidor.
Por ejemplo la lista inicial podría ser algo así:
lista = [
    ('servidor1', comando1, comando2, comando3),
    ('servidor2', comando1, comando2, comando3)
]
for servidor in lista:
   nombre, cmd1, cmd2, cmd3 = servidor
    salida1 = Ejecutamos(cmd1)
    salida2 = Ejecutamos(cmd2)
    salida3 = Ejecutamos(cmd3)
    tupla = (nombre, salida1, salida2, salida3)
    resultados.append(tupla)
 
7:05 PM
Te comprendo..
@MauricioContreras En el script que tengo hecho tengo algo parecido así
@PatricioMoracho Te lo puedo compartir para que lo mires ?
 
El tema es que la salida que mostraste directamente de la tabla no muestra que hubieras resuelto el problema tal como te lo comenté, ya que más bien parece que tienes una estructura del tipo:

servidor1, comando1
servidor1, comando2
servidor2, comando3
 
Si, tengo algo asi:
 
Y lo que te comento que deberías tener, es más bien esto:

servidor1, comando1, comando2, comando3
 
comandoServidor, nombreServidor, comandoEstado, estado
 
7:47 PM
Y por que dos lineas por servidor?
 
@PatricioMoracho Bueno la idea que siempre quise es colocar todo en una sola linea.
 
Claro, ahi está el quid de la cuestión. Revisa la explicación que te dí a ver si puedes implementar esa idea, tu problema hoy es que tienes desacopladas las ejecuciones de cada servidor
 
Mira, es que en estos momentos es solo para un servidor
Pero la idea es que sea para muchos..
 
Claro, piensa en N servidores cuando diseñes esto (o cualquier otra cosa), Hoy N=1, mañana podrá ser N=50, el tema es que si ya diseñas para N, no tienes que preocuparte por esto mañana. Y el trabajo de pensar/programar de esta forma suele ser mínimo pero las ventajas son enormes.
 
8:14 PM
Comprendo..
Pero no encuentro como hacer para que solo aparezca por una sola linea
 
8:29 PM
Te copio nuevamente la idea:
lista = [
    ('servidor1', comando1, comando2),
    ('servidor2', comando1, comando2)
]
for servidor in lista:
   nombre, cmd1, cmd2  = servidor
    salida1 = Ejecutamos(cmd1)
    salida2 = Ejecutamos(cmd2)
    tupla = (nombre, salida1, salida2)
    resultados.append(tupla)
La ajusto a los dos comandos que creo son los que tienes.
Es casi el código en python
salida1 = Ejecutamos(cmd1) es la única abstracción, es "ejecutamos el comando 1, capturamos la salida y la guardamos en la variable salida1 tal como ya lo estas haciendo"
Lo demás es código python
Luego simplemente hay que guardar resultados en un txt, pero eso ya lo estarías haciendo
 
@PatricioMoracho espero que sí, el tema está bueno y los demás expositores saben bastante :D
@MauricioContreras hey Don Mauricio :D
 

« first day (1720 days earlier)      last day (1370 days later) »