> >
> >
> > Evening from Canada
> > I suppose one approach could be to have a seperate machine setup as a print server, Windows 2003 OS.
> > Your workstation would still eat up its CPU to prepare the invoices, but then once the print
> > job is submitted to the print server your workstation now no longer handles the printing load
> > the print server does the printing. There of course are costs associated with this; another machine
> > and a Windows Server 2003 server license costing around $875.00 Canadian.
> > In the case of running a background print job on the same computer you can monkey around with writing
> > a seperate self contained exe to process the invoices and print them and then fiddle around with forground
> > and background CPU settings, but the real solution is to use a secondary print server.
> > By the way you can change the priority given to anything running by opening up the Task Manager,
> > right click on the item running and you will see a Priority Option. Here you can change the priority
> > given to the running service or process.
> > Pete "the IceMan", from the Great White North of Canada.
>
>
> Thanks Pete for your reply. Barbara gave me the following suggestion and this is what my colleague expecting me to do.
>
> "What you want is called asynchronous processing. The way you do this is by loading the invoices to be printed into a table with a status that indicates they are pending. Then your second service periodcially checks this table to find items that are pending and processes the ones found."
>
> how do i go about doing that? Can you help me out with this one. I never worked with VFP before and I am really lost.
>
> Thanks again,
> Newbie Database Developer
Morning From Canada,
I think what she is referring to is you prep your invoices
in a seperate table... ie the header table and the details
table so you can process and print the invoices.
The on the invoice header table would be one logical field
set to .F. as a default.
You could then have a secondary process, or maybe even a timer
event in your main application that may only printer 1-2 invoices
at a time. Then wait 20-30 seconds and print 1-2 more. As each
invoice is printed you flip the logical flag to .T. so you know
the invoice has been printed.
I think you can see what this will do.... the printing is
staged with smaller pieces of the entire print job happening
rather than the entire printing of all the invoices in one shot.
Printing then all at once if there are several hundreds or
thousands will bog down the workstation for sure.
Does this explaination help...? And if I have misguided
what you were referring to Barbara please accept my apologies.
Pete "the IceMan", from the Great White North of Canada.