Understanding the Fog Bugz Maintenance Service

FogBugz does almost all its work through the Web, via a Web-based interface. That means that FogBugz code won't run until a user requests a Web page in their browser. Typically, Web-based interfaces have two problems:

• Operations that take a long time make the user wait and result in a nonresponsive UI.

• Operations can only be initiated when a user hits a Web page. This makes it impossible to perform routine tasks such as deleting old spam at midnight or sending out the morning escalation report via e-mail.

To address these issues, FogBugz requires the FogBugz Maintenance Service (informally known as "the heartbeat") to be running at all times. This service's entire job is to wake up every few seconds and hit a Web page (specifically, heartbeat.asp). That Web page checks whether there's any maintenance work to be done, and, if there is, does it.

The FogBugz Maintenance Service is responsible for the following tasks:

• Receiving incoming e-mail via POP3

• Sending outgoing e-mail from the FogBugz outgoing mail queue (a table named MailQueue) using SMTP

• Performing the Bayesian learning algorithm after someone has reclassified an e-mail message or discussion group topic

• Deleting old spam messages permanently

• Sending the daily e-mail escalation report to any subscribers

If any of these tasks are not happening, it may be because the FogBugz Maintenance Service is not running. If the page heartbeat.asp has not been hit for a long time, FogBugz takes this as a sign that something is wrong with the FogBugz Maintenance Service and reports an error to the next administrator who logs on.

0 0

Post a comment