Exemplo de cluster
Publicado por Diego Lopes (última atualização em 04/10/2022)
[ Hits: 3.581 ]
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()
Jode de acertar a palavra embaralhada
Implementação simples de um programa antivírus em Python 3.10 para Linux
Como rodar músicas mp3 pelo Python
Máquina perereca - até onde é possível o uso de Linux?
Mitigação - O que é e quando é "seguro" desabilitar
Atualizar Debian Online de uma Versão para outra
A arte e a prática da Disciplina a longo prazo
Topgrade - Atualize seu sistema Linux inteiro com um único comando
Site com diversos emojis para seus códigos
Um modo leve de ouvir/ver áudio/vídeo da internet em máquinas pererecas
pfSense + SquidGuard + LDAP (1)
Redirecionar site para o link secundário (1)
O que você está ouvindo agora? [2] (198)
A escola é altamente ineficiente e ineficaz! (2)
Fedora KDE plasma 42 X Módulo de segurança BB (Warsaw-2) (0)