Skip to content
Paul Moeller edited this page Oct 29, 2014 · 6 revisions

Agent.Dispatcher: Main Server Workflow

  1. Dispatcher entry:
  • AgentHTTP.Dispatcher->handler - called by mod_perl

  • AgentJob.Dispatcher->execute_queue - called by mod_perl PerlCleanupHandler which is set by AgentHTTP.Dispatcher->handler for all apache requests

  • AgentEmbed.Dispatcher->call_task - nested dispatch ("calling" a task)

  1. Agent.Dispatcher->process_request - The main loop does the following:
  • Call $self->create_request on first iteration

  • Call $req->set_task

  • $task->execute($req)

  • If Bivio.DieCode->SERVER_REDIRECT, then repeat

  • Else, $req->process_cleanup

  • Clear request

  • Return Bivio.DieCode (if any)

  1. Agent.Reply converts DieCode to server-specific return value

Dispatcher sequence diagram (Click for larger view)

Clone this wiki locally