Skip to content

Instantly share code, notes, and snippets.

@vedang
Last active July 25, 2025 04:53
Show Gist options
  • Select an option

  • Save vedang/86d66cbf0687beb52e65ffda3dd9eb31 to your computer and use it in GitHub Desktop.

Select an option

Save vedang/86d66cbf0687beb52e65ffda3dd9eb31 to your computer and use it in GitHub Desktop.
FastAPI Server Lifecycle
FastAPI Server Lifecycle
Idle
start server -> Starting
Starting
initialize observability -> Observability Setup
startup error -> Error
Observability Setup
observability ready -> Database Setup
observability error -> Error
Database Setup
create db connection -> Temporal Setup
database error -> Error
Temporal Setup
temporal client ready -> Listening
temporal error -> Error
Listening
shutdown signal -> Shutting Down
new request -> Request Router
Shutting Down
cleanup complete -> Stopped
Error
log error -> Stopped
Stopped
restart command -> Starting
Request Handling
Request Router
health route -> Health Check
session routes -> Session Management
conversation routes -> Conversation Management
message routes -> Message Processing
invalid route -> Route Error
Session Management
not authenticated -> Auth Error
POST sessions -> Start UserSession Workflow
GET sessions-id -> Get UserSession Status
Conversation Management
not authenticated -> Auth Error
GET conversations -> List Conversations
POST conversations -> Start Conversation Workflow
GET conversations-id -> Get Conversation Metadata
PUT conversations-id -> Update Conversation Metadata
DELETE conversations-id -> Delete Conversation
PUT conversation-id-end -> End Conversation Signal
PUT conversation-id-resume -> Resume Conversation Signal
List Conversations
return conversations list -> Listening
database error -> Database Error
Get Conversation Metadata
return conversation metadata -> Listening
database error -> Database Error
Update Conversation Metadata
update conversation -> Get Conversation Metadata
Delete Conversation
delete conversation -> Get Conversation Metadata
Message Processing
not authenticated -> Auth Error
GET conversations-id-messages -> Get Messages
POST conversations-id-messages -> Send Message
Get Messages
query messages -> Messages Retrieved
database error -> Database Error
Messages Retrieved
return messages -> Listening
Send Message
message stored -> Stream Message Response
database error -> Database Error
Stream Message Response
end stream -> Listening
Health and Monitoring
Health Check
check database -> Check Database
check temporal -> Check Temporal
return healthy -> Listening
Check Database
database healthy -> Health Check
database unhealthy -> Database Error
Check Temporal
temporal healthy -> Health Check
temporal unhealthy -> Error
Error States
Route Error
return 404 -> Listening
Auth Error
return 401 -> Listening
Validation Error
return 400 -> Listening
Not Implemented Error
return 501 -> Listening
Database Error
return 500 -> Listening
Workflow Error
return 500 -> Listening
Signal Error
return 500 -> Listening
Temporal Workflow Management
User Session Workflow
Start UserSession Workflow
workflow started -> UserSession Workflow Running
temporal error -> Workflow Error
UserSession Workflow Running
return workflow id session id -> Listening
Get UserSession Status
return workflow id session id -> Listening
End UserSession Signal
workflow not found -> Workflow Error
send signal end-session -> Workflow Ended
Conversation Workflow
Start Conversation Workflow
workflow started -> Conversation Workflow Running
temporal error -> Workflow Error
Conversation Workflow Running
create conversation -> Get Conversation Metadata
Resume Conversation Signal
send-signal start-chat -> Workflow Resumed
End Conversation Signal
send signal end-chat -> Workflow Ended
Workflow Ended
return success -> Listening
Workflow Resumed
return success -> Listening
function render(model){
let current_state_name = model.active_states[0].name;
return $("h1",
{style: {color: "darkBlue"}},
`The current state is: ${current_state_name}`);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment