Pular para o conteúdo

Exemplo de cluster

Conjunto de scripts para exemplo de cluster!
Serviços REST que tem dois nós de processamento de informação usando threads de processamento.
Diego Lopes redbulldog
Hits: 3.903 Categoria: Python Subcategoria: Avançado
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

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

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




Gerador palpite Mega Sena v1.0

Problema das Oito Rainhas

Inteligência artificial com Python e Shell Script

Consumo de memória por processo

Virus, trojan, sei lá o que é isso, PARTE II

#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

Entre na sua conta para comentar.