Exemplo de cluster
Publicado por Diego Lopes (última atualização em 04/10/2022)
[ Hits: 3.855 ]
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()
PYCalculator 1.0 - Calculadora no Python
Leitura de todos os valores de qualquer xml
Resolução de problemas por meio de buscas - Labirinto (Inteligência Artificial)
SynapSeq - programa para estimular as ondas cerebrais
Por que seu __DIR__ falhou ou o "inferno" dos caminhos no PHP
Preparando-se para certificações da LPI através do LPI Lab
Migração de Arch Linux para repositórios CachyOS (Uso de Instruções v3 e v4)
Jogando "Magic" gratuitamente no Linux
Zoxide e fzf no bash para incrementar o uso do Terminal
As diferencas entre o clipboard comum e a selecao ativa
Arch Linux com repos do CachyOS para otimização ou usar Gentoo?
O que você está ouvindo agora? [2] (243)
Abrir um arquivo URL pelo Clipper (7)
Eu aprendi o segredo das artes! hahaha (0)









