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

Publicado por Rodrigo Sanches em 10/12/2009

[ Hits: 9.594 ]

 


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

Jogos de Windows no Linux

Assistindo streams em WMV no seu Xine

Rundeck - alterando a senha de admin

Procurando a localidade física de um computador através do IP

Criando atalho para Tibia Linux

  

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
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts