collectiveidea / delayed_job

Database based asynchronous priority queue system -- Extracted from Shopify
http://groups.google.com/group/delayed_job
MIT License
4.82k stars 954 forks source link

undefined method for DelayedJob in producion + passanger #1122

Closed jjcsalomao closed 3 years ago

jjcsalomao commented 4 years ago

Good afternoon! I'm having problems like DelayedJob in production, he returns to me indefinitely ... but on localhost it does the job perfectly. If you can help I thank you too much, I have tried several ways and it doesn’t leave the place just in procession the error occurs.

in controller ` def gerar_boletos_remessa unless params[:ids].blank? @lancamentos = Lancamento.where(id: params[:ids]) @lancamentos.each do |lancamento| valor = lancamento.valor.to_s.gsub('.', '').gsub(',', '.') if (lancamento.desconto_pontualidade.to_s.gsub('.', '').gsub(',', '.').to_i > 0) || (lancamento.desconto_pontualidade != '') desconto = lancamento.desconto_pontualidade.to_s.gsub('.', '').gsub(',', '.') code = '1' date = lancamento.data_vencimento.to_date else desconto = '0.0'.to_f code = '0' date = '' end if lancamento.cliente.cpf != '' @a = 'CPF' @b = lancamento.cliente.cpf.to_s.gsub('.', '').gsub('-', '').to_s.gsub('-', '').gsub('/', '') else @a = 'CNPJ' @b = lancamento.cliente.cnpj.to_s.gsub('.', '').gsub('-', '').to_s.gsub('-', '').gsub('/', '') end

  url = conta.url_production
  body = "{\"amount\": \"#{valor}\",
            \"dueDate\": \"#{lancamento.data_vencimento.to_date}\",
            \"description\": \"#{lancamento.descricao}\",
            \"discount\": {
                  \"code\": \"#{code}\",
                  \"date\": \"#{date}\",
                  \"percentage\": \"0\",
                  \"amount\": \"#{desconto}\"
              },
              \"interest\":{
                  \"code\": \"2\",
                  \"percentage\": \"2\",
                  \"amount\": \"0\"

              },
              \"fine\":{
                  \"code\": \"1\",
                  \"date\": \"#{(lancamento.data_vencimento + 1.day).to_date}\",
                  \"percentage\": \"0\",
                  \"amount\": \"2.00\"
              },
               \"payer\": {
                \"name\": \"#{lancamento&.cliente&.name}\",
                \"document\": \"#{@b}\",
                \"address\": {
                \"zipCode\": \"#{lancamento.cliente.endereco.cep.blank? ? '--' : lancamento.cliente.endereco.cep.gsub(' ', '').gsub('-', '').gsub('.', '').gsub(',', '')}\",
                \"address\": \"#{lancamento.cliente.endereco.rua.blank? ? '--' : lancamento.cliente.endereco.rua}\",
                \"number\": \"#{lancamento.cliente.endereco.numero.blank? ? '--' : lancamento.cliente.endereco.numero}\",
                \"neighborhood\": \"#{lancamento.cliente.endereco.bairro.blank? ? 'centro' : lancamento.cliente.endereco.bairro}\",
                \"complement\": \"#{lancamento.cliente.endereco.complemento.blank? ? '' : lancamento.cliente.endereco.complemento}\",
                \"city\": \"#{lancamento.cliente.endereco.cidade.blank? ? '--' : lancamento.cliente.endereco.cidade}\",
                \"state\": \"#{lancamento.cliente.endereco.blank? ? '--' : lancamento.cliente.endereco.uf}\"
                 }
               },
                \"generateHtml\": true
             }"
authorization = "#{conta.login}:#{conta.token}"
empresa = current_empresa.id
lancamento.delay.remessa("#{authorization}","#{url}","#{body}","#{lancamento.id}",empresa)

end end respond_to do |format| format.js end

end`

In model `def remessa(authorization,url,body,lancamento,empresa)

@boletos = BoletoService.new(authorization.to_s, url.to_s).generate_billet(body) @payment = BoletoService.parse(@boletos) unless @payment.blank? if @payment['errorId'].to_i > 0 self.update(moip: @payment, error_boleto: true, error_id_boleto: @payment['errorId'].to_i, error_message_boleto: @payment['message'].to_s) else date = Time.now.strftime("%Y-%m-%d %H:%M:%S") empreendimento = true if empresa.to_i != 1 self.update(moip: @payment, boleto_gerado: true, codigo: @payment['ourNumber'].to_i, data_geracao_boleto: date, boleto_empreendimento: empreendimento) end end

end

` Erro in Jobs

undefined methodremessa' for Lancamento:Class`

albus522 commented 3 years ago

The usual cause for this error is a worker process that is still running an old version of the code that doesn't have the method you need.