Hi,
We had similar problems and lowered the "CleanupPublishQueue" to about 7 days which seemed to work fine.
You can clean all the tables up quite easily for now by using this SQL query that Sitecore mentions in the SC 6 Tuning Guide:
USE /* database name */
/* TRUNCATE History TABLE */
IF OBJECT_ID('History', 'U') IS NOT NULL
IF((SELECT COUNT(*) FROM [History]) > 1000)
BEGIN
TRUNCATE TABLE [History];
PRINT 'Truncated the History Table';
END
/* TRUNCATE EventQueue TABLE */
IF OBJECT_ID('EventQueue', 'U') IS NOT NULL
if((SELECT COUNT(*) FROM [EventQueue]) > 1000)
BEGIN
TRUNCATE TABLE [EventQueue];
PRINT 'Truncated the EventQueue Table';
END
/* TRUNCATE PublishQueue TABLE */
IF OBJECT_ID('PublishQueue', 'U') IS NOT NULL
IF((SELECT COUNT(*) FROM [PublishQueue]) > 1000)
BEGIN
TRUNCATE TABLE [PublishQueue];
PRINT 'Truncated the PublishQueue Table';
END
sdn.sitecore.net/.../cms_tuning_guide_sc60-65-a4.pdf.
This is also mentioned:
"Sitecore recommends that the number of rows (entries) in the History, PublishQueue, and
EventQueue tables be less than 1000. This prevents timeouts from occurring while the cleanup
agents run"