Resuming job

Helge Blischke h.blischke at acm.org
Fri Jan 8 04:18:42 PST 2010


Gilles Germon wrote:

>> > Gilles Germon wrote:
>> >
>> > >> Gilles Germon wrote:
>> > >>
>> > >> >> Gilles Germon wrote:
>> > >> >>
>> > >> >> > cups 1.3.9.17
>> > >> >> > Every month, a customer has to print a very big job.
>> > >> >> > Details here:
>> > >> >> > 
https://answers.launchpad.net/ubuntu/+source/cups/+question/94758
>> > >> >> >
>> > >> >> > I thought this issue resolved, but the operator called me this
>> > >> >> > morning and said: "when I have put new paper into the printer,
>> > >> >> > it has prints a few pages (the printer buffer) and has
>> > >> >> > restarted the print job from the beginning"
>> > >> >> >
>> > >> >> > To be short:
>> > >> >> > * If  ErrorPolicy is set to stop-printer, cupsenable enable the
>> > >> >> > printer but the current job is never requeued.
>> > >> >> >
>> > >> >> > * If  ErrorPolicy is set to retry-job the job restart from the
>> > >> >> > beginning.
>> > >> >> >
>> > >> >> > What is the parameter to tell cups : wait until the printer is
>> > >> >> > online and continue to print the job
>> > >> >> >
>> > >> >> > TIA
>> > >> >> > Gilles
>> > >> >>
>> > >> >> Gilles,
>> > >> >>
>> > >> >> your proglem is probably that the printer closes the connection
>> > >> >> after some timeout value (I know that from various HP printers
>> > >> >> driven via JetDirect interfaces). As you use the lpd backend for
>> > >> >> your printer, there is no chance to continue the print job after
>> > >> >> the connection has been closed by the printer at the interruption
>> > >> >> point.
>> > >> >>
>> > >> >> As far as I can see, the only chance is - regardless of the
>> > >> >> backend you use - to set an infinite idle timeout value on the
>> > >> >> printer itself, if that is possible at all.
>> > >> >>
>> > >> >> Helge
>> > >> >>
>> > >> >> P.S.: If the printer offers a well implemented IPP interface, it
>> > >> >> could be possible to qurey the printer for the successfully
>> > >> >> printed sheets or pages and continue from that point at the job
>> > >> >> restart, but I'm not sure if CUPS already supports a job resume
>> > >> >> like this.
>> > >> >>
>> > >> > Helge,
>> > >> >
>> > >> > Thank you for your attention.
>> > >> > I am pretty sure that it is not a printer problem because it
>> > >> > worked for years with the same printer and the same application.
>> > >> > The only thing that has changed is the linux server, the old
>> > >> > server was a 2.4 kernel with cups 1.1.19. This problem only
>> > >> > appears after the new server with Ubuntu 9.04 and cups 1.3.9.17
>> > >> > have been in place. I seen in cupsd.conf of an old server
>> > >> > KeepAlive and KeepAliveTimeout parameters are set. Do you think
>> > >> > this may have something to do with this problem?
>> > >> >
>> > >> > Gilles
>> > >>
>> > >> Gilles,
>> > >>
>> > >> if the job-orginating host and the CUPS-server are different
>> > >> machines, you could try to re-insert the keepalive statements.
>> > >> Though the CUPS documentation tells that this feature is on by
>> > >> default in HTTP 1.1, it might be that the Ubuntu folks decided to
>> > >> change the default ...
>> > >>
>> > >> Perhaps you could pst (an URL to) the complete chunk of your
>> > >> error_log containing all the log lines of this job so that it is
>> > >> possible to reconstruct the complete job's history?
>> > >>
>> > >> Helge
>> > >>
>> > >> P.S. I've looked into the sources of the LPD backend in both 1.1.19
>> > >> and 1.3.9 and couldn't find any serious differences with respect to
>> > >> timeout handling. Especially there is no such message during writing
>> > >> of the data file itself.
>> > >>
>> > >>
>> > > Helge,
>> > >
>> > > Yesterday evening I did launch an edition on the server.
>> > > You could find the error_log file here :
>> > > http://www.soubabere.fr/errorlogcups.txt (this is a huge file 2.8Mb)
>> > > The job is 302062 and another job (302078) has been sent by a cron
>> > > job at 23:00 All the night long, we can see every 5 minutes [Job
>> > > 302078] recoverable: Unable to connect to printer; will retry in 30
>> > > seconds ... but nothing with the first job 302062 ??? I don't know
>> > > why cups restart at 07:36 every morning, surely a cron job but I
>> > > can't find it. When the operator puts paper in the printer, it prints
>> > > the buffer, print the job 302078 and restart the job 302062 from the
>> > > beginning.
>> >
>> > Well, the main problem is the dayly CUPS restart at 07:36. This stops
>> > all jobs; the scheduler starts all not yet completed jobs from the
>> > beginning. BTW, your system seems not to do a well behaved restart, as
>> > the messages "Scheduler shutting down normally" and "Savinf job cache
>> > file ..." are missing in your error_log.
>> >
>> > As I have no Ubuntu system available to look into, I do not know how
>> > the restart is scheduled - I suggest to look into the documentation
>> > regarding system administration or ask for more info in the various
>> > Ubuntu forums.
>> >
>> > Helge
>> >
>> >
>>
>> Helge,
>>
>> I have posted the problem in ubuntu forum but I have received no response
>> so far. I still can not figure out why cups restarts, but what is the
>> default value for ReloadTimeout, or can I get his current value, or how
>> can I set it to infinite to be sure it is not this parameter that makes
>> cups restart, 20000000 like JobRetryLimit?
>>
>> Gilles
> 
> Yesterday evening I restart cups with ReloadTimeout 2000000000
> This morning the customer calls me and said "not any printer no longer
> prints" I logged on the server, cupsd was running, but lpstat hang
> #service cups stop; #service cups start and all is fine now
> Apparently cups hang at 07:34am and the last lines in error_log were
> reports lines (Report:string-pool-total-bytes=) I posted in
> bugs.launchpad.net and I'm waiting I think I'll remove ReloadTimeout from
> cupsd.conf to avoid cups hang every morning.
> 
> Gilles

That indicates that cupsd isn't killed by a kill command but shut down 
regularly (more or less). The ReloadTimout value is the time cpsd waits for 
the final shutdown for active jobs (those which currently are printing) to 
complete.

I'd suggest to look in /etc for files and directories containing "cron" in 
their name, especially for thinks like "...cron.daily..." or the like and 
search for anything that looks like cups in there. Let us know what you find 
there.

Helge





More information about the cups mailing list