The new world of Project Server 2007 and the architectural changes are catching a few of our customers out - and I thought I'd share a few tips and tricks for keeping the queue flowing - and some tips for getting things moving again if they appear to have stopped.
First I will point to a great TechNet article on the Queue (*** 12/18/2014 update - try this link now http://technet.microsoft.com/en-us/library/cc197395(v=office.12).aspx ***) and as you will all have read this then my explanations will make more sense :).
Under Server Settings in Project Web Access the Manage Queue option allows you to see what is happening in the project and timesheet queues - if you don't have admin access then the Personal Settings will give you a glimpse of your queue jobs. The latter option may not however give you the complete picture and allow you to see what might be ahead or you. It is like being stuck on the highway and not being able to see around the corner to where the flashing lights are...
So lets start with some definitions:-
Waiting to be processed - means exactly what it says. Once I get to the front of the queue then I am ready to go. But there may be other active jobs ahead that will stop my job starting even if I am first in line. The queue is clever enough that it will hold jobs back if their processing would interfere with other running jobs. An example might be a publish job that will need to wait for a cube build to finish.
Processing - means that I made it to the front of the queue, was allocated a thread and am working away! One thing I have noticed is that the % complete indicator doesn't always make you think that "processing" is happening - but generally it is. Looking in the ULS logs, event logs or at general server activity (particularly the Microsoft.Office.Project.Server.Queuing.exe process should help if you have continued doubts that processing is moving along.
Skipped for optimization - is the queue's way of telling you that it is not going to do the same thing twice. Some queue jobs have a payload (such as saving a project) and others are merely instructions (such as publish a project). If several of the same instruction are in the queue, then only one needs to be actioned. An example might be working on a project and publishing a few times during a period of time. If the queue was busy all of these jobs might be sitting waiting for a while - and then rather than doing each in turn it just needs to do one. It is just an instruction to publish the content of the saved project. This would not happen with a queue job that had a payload as each of these contains real data that needs to be applied - rather than just an instruction to do something with data somewhere else.
Getting Queued - appears to be one of the more confusing messages. I mentioned above that some jobs, such as save project from Project Professional, have a payload. This payload goes into the queue as a group of related messages, which then get processed once they reach the front of the queue. Getting queued means that these messages are going into the queue. It is possible that the Getting Queued message appears for some time because a very large project is coming in across a very slow link. One other potential problem that can break things is if this flow in of messages does not complete. Perhaps the Project Manager saving the project shuts down Project before it completes - or perhaps goes out of wireless range midway through the process. Either way the Getting Queued could sit there for some time. To fix this up find the person who has this project in mid-save and get them to reconnect and complete the job. As a last resort you can cancel the Getting Queued - but YOU WILL LOSE DATA! Any changes the Project Manager made will not get saved. To protect you from inadvertently canceling one of these jobs we add a check box under Advanced options labeled "Cancel jobs getting enqueued" which will need to be checked before these jobs can be canceled.
Failed and Not Blocking correlation - is a failure that is isolated and not stopping any other jobs from processing. The term correlation is used to group related queue jobs together. There should be an associated error message and entries in the log to help explain the problem.
Failed and Blocking correlation - means that something bad happened that is also blocking other things in the related group. If a save fails then a publish could not continue would be one example.
Success - is the one message we like to see! It can also be useful to sometimes show the Success messages (by default they are not shown in the Manage Queue display) as it is a way of seeing if the queue is working at all. Adding the completion state of Success through the options on the manage queue page is how this is done.
Canceled - means what it says. It could have been canceled by a user, but it is also possible for jobs to be canceled by the server. One example would be a failure early on in a save from Project Professional. A job would have been added to the queue for the save - but reconnection may lead to cancellation of this job and the addition of another save job - it really depends hoe far the save got before the problem. I simulate bad things like this by pulling my network cable out just after hitting save - just to see what happens!
I will follow up with another posting on the queue with some further tips on troubleshooting -but my parting gift is a guide to what the dialogs at the bottom of Project Professional 2007 mean during a save.
Technorati Tags: Project Server 2007
Very Helpful. Would be great to have a list of best practices to avoid the queues to get blocked.
It's helpful. I'm a project administrator. I am having a problem wiht the queue system. In the Manage Queue page, there are always a lot of items with the status Waiting to be processed. But none item finished no matter how long time I wait. This case happens day after day.
I think I need your help if you like to. Thanks very firstname.lastname@example.org
There is usually a good reason jobs are waiting to be processed. Make sure you set the history setting on the page to see old jobs (say from 1/1/2007) and hopefully this will identify what is making the jobs wait.
Your site is defintly the best on the net for fixing common Project server issues (BIG THANK YOU!) However I am constantly fighting the queue service.
Timesheets will get stuck and never process the only way to clean out the issue is to go into services and re-start the service! This can happen anywere from once a month to multiple times a day. Very frustrating when you are trying to do payroll.
Thank you for any help you can provide.
If re-starting the queue service fixes things then this doesn't sound data related, as once bad data is in the queue it will just block things and generally even a reboot wont fix things. So it appears you queue is stopping and not getting re-started. I would check the event log ofr any errors that may indicate the failure. Perhaps setting up a scheduled stop/start of the service using the net stop command might help (the service name can be identified throuh the services mmc plug in). If you open a support incident then I am sure my colleagues would be able to get to the bottom of the problem.
hi, pls tell me how can i restart the service and what services must to restart? thx a lot
The services can be re-started either from the Administrative Tools, Services applet (look for Microsoft Office Project Server Queue Services)or at a command prompt using:-
net stop ProjectQueueService
net start ProjectQueueService
Do you happen to be aware of the following type of log messages?
"PWA: http://epm2007/pwa, SSP:SharedServices1, User: wssadmin, PSI: [QUEUE] ProjectQ: Group is sleepting: d5122... type: ReportResourceSync 123e..."
I couldn't clear the queue even by restarting the Project Queue Service or rebooting the project server. By the way, the database is on a separate server.
I would be happy to open an incident can you direct me to whom I should contact to open a case?
Hi Brian - there are various ways depending on any contract you might have through your company. Best way is to take a look at http://support.microsoft.com/oas/default.aspx?gprid=11388.
Hi Brian, i have four projects stucked in the queue. When i try to force check-in of these projects, nothing happens. What can i do????
Usually projects appear stuck because something is blocking them in the queue from some time in the past. Change the history setting in the queue to look at really old jobs and you may find ones relating to those projects. When you do then these need deleting (and possibly using the "Cancel jobs getting enqueued" option mentioned in the main article.) Force check in will just add another check in request to the queue so it isn't very "forceful". If this does not work for you then I would suggest a support incident be raised with Microsoft.
We keep having the same issue. After a user checks out a particualar project, then "saves" the Project Save from Project Professional stalls in the Getting Queued, and never completes. Which stops the project from being checked in. I have started and stopped the queue service but it doesn't seem to have an effect. This only happens on one project. This only seems to happen to the user. I have performed the same set of steps from my machine, using the same version of project professional 2007 and had no issues. Any ideas?
The most likely reason is that this particular user is just closing Project Professional before the save gets far enough - so some of the data hasn't made it back to the server. This is a bug we are looking at - but by use of the file save, then waiting for the status message at the bottom to show completion, then file close, and waiting again for check-in and finally File, Exit - should give a better experience. I would expect other errors if theere was a data problem. Stopping and starting the queue service (as long as it was running in the first place) will rarely fix anything as the queue is data driven - and if the data doens't change (e.g. completion of the save) then neither should the behavior of the queue's action.
I hope this helps.
How do I handle this failure ?
It is happanning only with one project of mine ...