Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - MinusFour

#921
No es necesario que tengas ni un WM, puedes correr una sola aplicación en fullscreen y olvidarte de instalarte un WM, DM, etc.

https://wiki.archlinux.org/index.php/Xinit#Starting_applications_without_a_window_manager
#922
Cita de: zagk en 26 Junio 2017, 19:37 PM
Hola MinusFour, la problemática que se presenta es la siguiente:

Los que quieren el Centro de Mensajería lo van a utilizar para un evento, en donde envían mensajes masivos a las personas sobre encuestas, etc. Un gran número de personas responderán al instante. El Centro de Mensajería utiliza un software de terceros para procesar todos los datos del módem y usa una base de datos propia para almacenar los mensajes enviados y recibidos, cada vez que el módem recibe un mensaje el software lo procesa y lo almacena en la tabla inbox de la base de datos: el script que hice lo que hace es verificar mediante un bucle cada vez que la tabla se actualiza (cada vez que la tabla inbox se actualiza quiere decir que hay un mensaje nuevo, con actualiza quiero decir que se añadió un nuevo registro) muestra el último registro que llegó y lo muestra en forma de notificación en Windows.

Con esto, por eso digo, si dejo que el bucle haga un sleep durante al menos 10 segundos y en ese período llega uno o varios mensajes, cuando vuelva a iniciar el bucle, luego del sleep, no los mostrará porque detectará que la tabla no se ha actualizado.

¿Crees que con eso de los triggers pueda hacer, por ejemplo, pasar todos los mensajes que se reciban (de la tabla inbox original) a otra tabla y crear un campo de comprobación que, por ejemplo, si un registro tiene ese campo en no visto el script lo tome y lo muestre en notificacion y ahora le cambie el estatus a visto, de allí cuando el script vuelva a recorrer la tabla detectará que ese mensaje ya ha sido notificado?

Entonces tu problema es que no puedes distinguir si el mensaje lo has notificado o no. Lo que puedes hacer es alterar la tabla de inbox y agregar el campo de notificación, dejar que tengan un valor por defecto de falso y  simplemente actualizar el campo a verdadero cuando la notificación ocurra (es mas difícil si son varios puntos a los que tienes que notificar y la política que tengas).

De todas formas, lo mejor es si pudieras agregar un sistema de eventos al sistema que realiza y recibe todas estas peticiones.
#923
Cita de: zagk en 26 Junio 2017, 17:56 PMel ciclo en python es infinito (while True) por lo que nunca se detiene de leer la tabla inbox.

Sin ningún sleep o algún timer? Por lo menos limita la peticion a 1 cada 30 segundos o asi.

Lo mas sencillo es que los clientes que hicieron la peticion para actualizar la tabla estén comunicados con los otros clientes. Por ejemplo, un cliente envia un mensaje al servidor (no MySQL, websockets, o TCP sockets) y el servidor le notifica al cliente en tiempo real del mensaje.
#924
Cita de: magodiesan en 26 Junio 2017, 04:47 AM
De seguro porque es un lenguaje de tipado débil.

No, no tiene nada que ver con la ausencia de un sistema de tipado. Porque las variables globales, publicas, privadas o globales describen el alcance de la variable, no el tipo.

javascript si tiene bien definidos los conceptos de variables globales. Existen variables que pueden ser accedidas desde cualquier punto del script (dentro de un mismo realm). No existen variables publicas ni privadas en javascript tal cual, aunque hay varias formas de simular el comportamiento. En javascript, los objetos tienen propiedades y estas pueden ser accedidas sin ningún problema siempre y cuando se tenga acceso al objeto.

Actualmente se están discutiendo propiedades privadas en clases:
https://github.com/tc39/proposal-class-fields

Están en la etapa 2, puede o no llegar a etapa 4 (confirmada la inclusión al lenguaje)
#925
Hay muchas formas de acelerar el proceso de booteo. Depende bastante del hardware. El tiempo de arranque no es inmediato en casi ningun sistema. Lo que hacen muchos sistemas es no apagarse por completo y entran en un modo standby en el cual el consumo de energia es mucho menor que operando normalmente. Resumir la operacion del sistema desde este punto es mucho mas rapido que desde un "cold boot".

Los hay en muchos dispositivos, telefonos, televisiones, consolas de juego, etc.
#926
Si, entre mas localizado sea el scope mejor, hay menos posibilidades de que te equivoques.
#927
Esa es una función no un generador, los generadores llevan:

Código (javascript) [Seleccionar]
function*
#928
Tienes demasiadas cosas en tu tabla de NAT creo. Yo diría que eliminaras todo de la tabla NAT y agregaras las reglas que necesitas... Tus reglas en la otra tabla realmente no hacen nada. Las políticas de cada una de las cadenas está en ACCEPT y todas tus reglas son ACCEPT, entonces tu servidor está aceptando todo, no solo aceptando las reglas que están ahí.

Si la redirección está bien, entonces no se que pudiera estar pasando. Es otra cosa de tu servidor. La regla de masquerade creo que solo debería aplicarse cuando sale de la interfaz virbr0:

Código (bash) [Seleccionar]

sudo iptables -t nat -A POSTROUTING -i virbr0 -o eth0 -j MASQUERADE


Creo también que puede ser un problema de SELinux (porque tu usas CentOS)
#929

2525  106K REJECT     all  --  *      virbr0  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
 124  5143 ACCEPT     udp  --  *      *       0.0.0.0/0            192.168.122.2        state NEW udp dpt:1194


¿Será el orden aquí?

Dice ahi que rechaza todos los paquetes a la interfaz virbr0 (que me imagino es la interfaz virtual con la que te comunicas con el guest) y no esta pasando a la siguiente regla.

Tambien necesitas hacer MASQUERADE porque los paquetes que van saliendo de la interfaz virbr0 salen con la ip privada. Si no lo haces, los paquetes que lleguen a tu equipo van a llegar con el SRC de la ip privada.

Código (bash) [Seleccionar]

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#930
Pon la lista completa de iptables:

Código (bash) [Seleccionar]

sudo iptables -L


Y la lista de interfaces:

Código (bash) [Seleccionar]

ip a