Resuming job

Gilles Germon ggermon at soubabere.fr
Fri Jan 8 06:50:49 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
>


FOUND IT !!!!

There is a logrotate scrip in /etc/cron.daily and there is a cups in /etc/logrotate.d, and in it :
........
if [ -e /var/run/cups/cupsd.pid ] then
invoke-rc.d --quiet cups force-reload > /dev/null
sleep 10
fi
........

I think I have to comment these lines

Gilles




More information about the cups mailing list