Exemplo de cluster
Publicado por Diego Lopes (última atualização em 04/10/2022)
[ Hits: 3.794 ]
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()
Resolução de problemas por meio de buscas - Labirinto (Inteligência Artificial)
PYCalculator 1.0 - Calculadora no Python
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Usando dracut e dispensando genkernel no Gentoo + LUKS + Btrfs
Curso GRÁTIS: OCS Inventory NG - Do Deploy ao Hardening com foco em Segurança da Informação!
Instalando fontes via script no Nautilus Scripts no Gnome do Debian 13
O que houve com slackware ??? (3)
Pendrive do Ubuntu 24.04 travando ao tentar fazer a instalação dual bo... (5)









