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.901 Categoria: Python Subcategoria: Avançado
  • Download
  • Nova versão
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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




O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Conexão de Roteadores CISCO

Criando um jogo de Jokenpo

Calculando IMC Python

Leitura de todos os valores de qualquer xml

Manipulação de XML com Python

#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.