Exemplo de cluster
Publicado por Diego Lopes (última atualização em 04/10/2022)
[ Hits: 3.894 ]
Homepage:
Conjunto de scripts para exemplo de cluster!
Serviços REST que tem dois nós de processamento de informação usando threads de processamento.
from flask import Flask, redirect, request
import socket
import random
'''
Configuração de acesso ao cluster de processamento
'''
HOSTCLUSTER='127.0.0.1'
PORTCLUSTER=5001
PORTCLUSTER2=5002
con =socket.socket(socket.AF_INET,socket.SOCK_STREAM)
con.connect((HOSTCLUSTER,PORTCLUSTER))
con2 = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
con2.connect((HOSTCLUSTER,PORTCLUSTER2))
#nocluster=0
def conexaoCluster2(dados,con2):
print(type(((dados['nome']).encode())))
paylod = '{}\r\n'.format(dados['nome']).encode(encoding = 'UTF-8')
print(paylod)
con2.send(paylod)
def conexaoCluster(dados,con):
print(type(((dados['nome']).encode())))
#con.send(b'\r\n')
paylod = '{}\r\n'.format(dados['nome']).encode(encoding = 'UTF-8')
print(paylod)
print(type(paylod))
con.send(paylod)
#con.sendall()
#con.close()
app = Flask(__name__)
@app.route('/')
def index():
return 'Dados entregues ao Cluster'
@app.route('/save', methods=['POST'])
def save():
dados = request.get_json()
print(dados)
if(random.randint(0, 1)==0):
conexaoCluster(dados,con)
#nocluster=nocluster+1
else:
conexaoCluster2(dados,con2)
#nocluster=nocluster-1
return redirect('/')
app.run(host='0.0.0.0')
#Nó1/Nó2
import socket
import time
from threading import Thread
class ProcessoCluster(Thread):
def __init__(self, dado):
Thread.__init__(self)
self._dado= dado
def run(self):
print('Processando {}'.format(self._dado))
time.sleep(10)
print('Dado {} Processado'.format(self._dado))
HOST=''
PORT=5001
tcp = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
tcp.bind((HOST,PORT))
tcp.listen(10)
print('---------Iniciando Nó de Processamento--------------')
while True:
con, client =tcp.accept()
print('Recebendo dados!!!')
while True:
msg = con.recv(1024)
if not msg: break
processo = ProcessoCluster(msg)
processo.start()
con.send(b'Fim do processo\r\n')
print('Finalizando conexão')
con.close()
Script em Python com várias funções matemáticas [iniciante]
Jode de acertar a palavra embaralhada
File Browser: Crie sua Nuvem Pessoal Privada
A produção de áudio e vídeo no Linux e as distribuições dedicadas a esse fim
Criptografando sua Home com Gocryptfs para tristeza do meliante
A Involução do Linux e as Lambanças Desnecessárias desde o seu Lançamento
O Journal no Linux para a guarda e consulta de logs do sistema
Assistindo IPTV no Linux com Fred TV e Lista Free TV
Impressora Tomate MDK-007 no Ubuntu (ou qualquer distro Linux)
Acelerando a compilação de pacotes no Arch Linux (AUR) usando todos os núcleos do processador
VoidBR - Void Linux adaptado ao Brasil. (2)
Teclado sem conseguir usar o acento crase (2)
Warsaw no Ubuntu/Kubuntu 26.04, alguiém conseguiu? [RESOLVIDO] (2)
Continuando meus tópicos anteriores (13)
As Assinaturas Perderam o Negrito e o Itálico? [RESOLVIDO] (1)









