Ir para conteúdo
  • Cadastre-se

Pesquisar na Comunidade

Showing results for tags 'multithread'.

  • Search By Tags

    Digite tags separadas por vírgulas
  • Search By Author

Tipo de Conteúdo


Fóruns

  • Fórum Aberto - ACBr
    • Notícias do ACBr
    • Equipamentos testados
    • Base de Conhecimento
    • Dúvidas Gerais sobre o ACBr
    • ACBrSerial
    • ACBrSAT
    • ACBrNFe
    • ACBrDFe
    • Dúvidas sobre TEF
    • Dúvidas sobre PIX
    • ACBrMonitor PLUS
    • ACBrTXT
    • ACBrBoleto
    • ACBrDiversos
    • ACBrTCP
    • ACBrFramework
    • ACBrLIB
  • ACBr Pro
    • Dúvidas gerais
    • Duvidas Privadas
    • ACBrMonitorPLUS
    • NFe/NFCe - Nota Fiscal Eletrônica
    • DFe - Documentos Fiscais Eletrônicos
    • SAT / MFE
    • TEF
    • Boleto
    • ACBrSPED
    • ACBrTXT
    • Paf-ECF
    • Requisitos Fiscais por UF
    • ACBrLIB
  • Outros Assuntos
    • Boteco do ACBr
    • Legislação Fiscal e Tributária
    • Object Pascal - Delphi & Lazarus
    • Banco de Dados
    • Classificados
    • Dúvidas não relacionadas ao ACBr

Categorias

  • ACBr Pro
    • ACBrLib - PRO
    • ACBrMonitorPLUS - PRO
    • Utilitários - PRO
    • Dia do ACBr 1a edição
    • Dia do ACBr 2a edição
    • ACBrLib Android - Pro
  • Download Livre
    • ACBrLib - DEMO
    • ACBrMonitorPLUS - DEMO
    • Demos / Testes / Utilitários
    • Apresentações - Palestras
    • ACBrLib Android - Demo

Calendários

  • Eventos - Palestras - Webinars
  • Prazos SEFAZ
  • Calendário da Comunidade
  • ACBr Papo Pro
  • Feriados Nacionais

Find results in...

Find results that contain...


Data de Criação

  • Início

    End


Data de Atualização

  • Início

    End


Filter by number of...

Data de Registro

  • Início

    End


Grupo


Website URL

Encontrado 2 registros

  1. Bom dia. Estamos desenvolvendo uma API golang utilizando o ACBrLib para emissão de MDFe. Para isso funcionar precisamos desenvolver uma interface em golang para chamar as funções da so (Estamos usando linux). Já é possivel chamar as funções do ACBrLib e transmissões, porém temos um problema. Ao tentar usar a biblioteca multithread fazendo multiplas requisições (simuladas com a AB), a aplicação quebra de forma intermitente. Todas as vezes que ela quebra está relacionado a falha de segmentação que vem da lib. A estrutura de canais para controlar o multhread desenvolvida no golang está funcional, iniciamos a biblioteca e usamos a função desejada. Existe alguma limitação para o uso da biblioteca multithread? Existe alguma coisa que esquecemos de usar ao chamar as funções do ACBrLib? Alguém já teve essa experiencia de usar o ACBrLib para desenvolver uma API multithread para emissão de algum documento fiscal? Abaixo segue um trecho do código desenvolvido para a aplicação. func (p poolLib) Status() string { return p.seletor() } func (p *poolLib) seletor() string { var lib uintptr lib = <-liver usando <- lib status := p.acbr.Status(lib) lib = <-usando liver <- lib return status } func NewPool(libacbr Dominio.IEnviar) Poollib { chLivre := make(chan uintptr, 4) chUsado := make(chan uintptr, 4) for i := 0; i < 4; i++ { var ptr uintptr libacbr.Init(&ptr) chLivre <- ptr } liver = chLivre usando = chUsado return &poolLib{ acbr: libacbr, } } Chamada a função delegada da lib func (m MDFe) callStatus(uintptr2 uintptr) string { bytes := m.bufferNew() versao := m.versao(uintptr2, bytes, &m.tamanho) return strconv.Itoa(versao) } Estamos usando a função versão para teste a comunicação com lib para evitar chamadas desnecessárias a sefaz
  2. O usuário do discord GEW Tecnologia reportou sucesso ao implementar a ACBrLibNFe Multithread (MT) com o Node, fez da seguinte forma: export const AcbrNfe = ffi.Library(libPath, { NFE_Inicializar: ['int', ['pointer', 'string', 'string']], NFE_Finalizar: ['int', ['pointer']], NFE_ConfigGravarValor: ['int', ['pointer', 'string', 'string', 'string']], NFE_CarregarINI: ['int', ['pointer', 'string']], NFE_ObterXml: ['int', ['pointer', 'int', 'string', 'string']], NFE_Enviar: ['int', ['pointer', 'int', 'bool', 'bool', 'bool', 'string', 'string']], NFE_EnviarEmail: ['int', ['pointer', 'string', 'string', 'bool', 'string', 'string', 'string', 'string']], }); import * as ref from 'ref-napi'; import { AcbrNfe } from 'src/config/acbrlib/ffi/nfe.ffi'; let handle = ref.alloc('pointer'); AcbrNfe.NFE_Inicializar(handle, eArqConfig, eChaveCrypt); handle = ref.readPointer(handle, 0, 8192); AcbrNfe.NFE_ConfigGravarValor(handle, item.sessao, item.chave, item.valor); AcbrNfe.NFE_CarregarINI(handle, conteudoIni); AcbrNfe.NFE_ObterXml(handle, 0, alocResposta, alocTamanho); AcbrNfe.NFE_Enviar(handle, numeroLote, imprimirDanfe, enviarEmModoSincrono, enviarArquivoZipado, alocResposta, alocTamanho); AcbrNfe.NFE_EnviarEmail(handle, dadosEmail.destinatario, dadosEmail?.conteudoXml, dadosEmail.isEnviarPdf, dadosEmail.assunto, dadosEmail?.cc, dadosEmail?.anexos, dadosEmail.mensagem); AcbrNfe.NFE_Finalizar(handle); Ele baixou este exemplo: https://stsw.com.br/exemplos-mt-acbr-lib.zip Ele cita estes 2 postes como base de conhecimento. Link da postagem oficial do discord, clique aqui Obrigado GEW Tecnologia pela colaboração !
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.