Exemplo de cluster

Publicado por Diego Lopes (última atualização em 04/10/2022)

[ Hits: 3.382 ]

Homepage:

Download app.zip




Conjunto de scripts para exemplo de cluster!
Serviços REST que tem dois nós de processamento de informação usando threads de processamento.

  



Esconder código-fonte

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()





Scripts recomendados

Um Script basico que tenho

Editor de texto em Tkinter

Lista Encadeada em Python

Jogo da forca criado em Python

Calculadora em Python


  

Comentários
[1] Comentário enviado por maurixnovatrento em 23/10/2022 - 17:01h


Bem elaborado. Muito bom.

___________________________________________________________
Conhecimento não se Leva para o Túmulo.
https://github.com/mxnt10


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts