CUPS lento - solução para pausa entre um job e outro via IPP

Publicado por Rodrigo Sanches em 10/12/2009

[ Hits: 11.178 ]

 


CUPS lento - solução para pausa entre um job e outro via IPP



Bom, essa é minha primeira contribuição para o VOL, espero que seja útil.

Em um servidor rodando Fedora tenho uma impressora de rede (Lexmark) configurada no CUPS através de IPP, então tenho a seguinte linha no meu printers.conf:

DeviceURI ipp://172.20.20.200

Após a troca do servidor com consequente atualização da versão do Fedora, algo mudou. Uma pausa de alguns segundos ocorria entre cada trabalho de impressão gerado pelo CUPS. Como o volume de impressão é muito grande, isso logo se tornou um problema.

Atualizar o CUPS para a última versão não ajudou. Então descobri que não se tratava de um bug do CUPS, nem de alguma configuração, mas sim de um novo recurso do CUPS.

A solução foi alterar o código fonte e recompilar o CUPS. Os fontes do CUPS podem ser obtidos neste link.

Edite o arquivo backend/ipp.c e altere as seguintes variáveis na linha 260:

waitjob = 0;
waitprinter = 0;

Recompilar e reinstalar:

# cd ..
# ./configure
# make
# make install


Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Resolvendo problema de letras maiúsculas no K3b

Baixando capas para seus CDs no Linux

FFmpeg no Linux Mint 17.x (Rosa)

Kdenlive - Editor de vídeo

Erro de Kernel no VirtualBox: "Kernel driver not installed" [Resolvido]

  

Comentários
[1] Comentário enviado por rafanico em 01/03/2010 - 10:29h

Bom dia...
Vou aproveitar seu post para pedir ajuda...
Estou com o mesmo problema que vc enfrentou, mas não estou conseguindo resolve-lo, visto que uso as impressoras por TCP via socket. Estou quebrando a cabeça. O font responsável pelo socket esta no backend/socket.c, mas não achei a opção correta para alterar (isso se dá por causa do meu nulo conhecimento de c).
O que eu percebi é que essa pausa começou após a Apple começar a mexer no Cups.
Enquanto eu trabalhava com o cups 1.2.x tudo era uma beleza. Após usar o 1.3.x a pausa começou. Essa pausa é extremamente incomoda no meu caso, pois usamos impressoras bematech para a autenticação de documentos, e os usuários, como sempre, se incomodam e não tem paciência.
O novo cups que instalei é o 1.4.2. Uso o Debian Lenny com LTSP 4.2. As impressoras são instaladas via socket...
Preciso de uma mão.. Já estou alguns dias empenhado mas sem sucesso. Pode me ajudar?

[2] Comentário enviado por rsanches em 01/03/2010 - 17:36h

Ola... voce tem razao, os arquivos do backend sao separados por tipo de conexao. No meu caso, é o ipp.c porque minha impressora é conectada via IPP, no seu caso deve ser mesmo o socket.c. Realmente este arquivo nao tem as mesmas variaves que o ipp.c, mas ele tem uma linha que acho que vale a pena voce tentar alterar... linha 393, tem o seguinte:

wait_time = time(NULL) + 5;
E com o seguinte comentario:
Wait up to 5 seconds to get any pending back-channel data...

Acho que vale a pena mudar esse valor de 5 para 0 ou 1, recompilar e instalar.

Nao se esqueça de parar e reiniciar o cups.

Sobre versao, aqui estou usando 1.3.9.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts