@@ -1,92 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Startup script for Temporal service with integrated Temporal server
|
||||
set -e
|
||||
|
||||
echo "Starting Temporal development environment..."
|
||||
|
||||
# Check if temporal CLI is available
|
||||
if ! command -v temporal &> /dev/null; then
|
||||
echo "Error: Temporal CLI not found!"
|
||||
echo "Please install it first:"
|
||||
echo " brew install temporal"
|
||||
echo " # or download from https://github.com/temporalio/cli/releases"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if temporal-service binary exists
|
||||
if [ ! -f "./temporal-service" ]; then
|
||||
echo "Error: temporal-service binary not found!"
|
||||
echo "Please build it first: ./build.sh"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Set data directory
|
||||
DATA_DIR="${GOOSE_DATA_DIR:-./data}"
|
||||
mkdir -p "$DATA_DIR"
|
||||
|
||||
echo "Data directory: $DATA_DIR"
|
||||
echo "Starting Temporal server..."
|
||||
|
||||
# Start Temporal server in background
|
||||
temporal server start-dev \
|
||||
--db-filename "$DATA_DIR/temporal.db" \
|
||||
--port 7233 \
|
||||
--ui-port 8233 \
|
||||
--log-level warn &
|
||||
|
||||
TEMPORAL_PID=$!
|
||||
echo "Temporal server started with PID: $TEMPORAL_PID"
|
||||
|
||||
# Function to cleanup on exit
|
||||
cleanup() {
|
||||
echo ""
|
||||
echo "Shutting down..."
|
||||
if [ ! -z "$SERVICE_PID" ]; then
|
||||
echo "Stopping temporal-service (PID: $SERVICE_PID)..."
|
||||
kill $SERVICE_PID 2>/dev/null || true
|
||||
fi
|
||||
echo "Stopping Temporal server (PID: $TEMPORAL_PID)..."
|
||||
kill $TEMPORAL_PID 2>/dev/null || true
|
||||
wait $TEMPORAL_PID 2>/dev/null || true
|
||||
echo "Shutdown complete"
|
||||
}
|
||||
|
||||
# Set trap for cleanup
|
||||
trap cleanup EXIT INT TERM
|
||||
|
||||
# Wait for Temporal server to be ready
|
||||
echo "Waiting for Temporal server to be ready..."
|
||||
for i in {1..30}; do
|
||||
if curl -s http://localhost:7233/api/v1/namespaces > /dev/null 2>&1; then
|
||||
echo "Temporal server is ready!"
|
||||
break
|
||||
fi
|
||||
if [ $i -eq 30 ]; then
|
||||
echo "Error: Temporal server failed to start within 30 seconds"
|
||||
exit 1
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
|
||||
# Start the temporal service
|
||||
echo "Starting temporal-service..."
|
||||
PORT="${PORT:-8080}" ./temporal-service &
|
||||
SERVICE_PID=$!
|
||||
|
||||
echo ""
|
||||
echo "🎉 Temporal development environment is running!"
|
||||
echo ""
|
||||
echo "Services:"
|
||||
echo " - Temporal Server: http://localhost:7233 (gRPC)"
|
||||
echo " - Temporal Web UI: http://localhost:8233"
|
||||
echo " - Goose Scheduler API: http://localhost:${PORT:-8080}"
|
||||
echo ""
|
||||
echo "API Endpoints:"
|
||||
echo " - Health: http://localhost:${PORT:-8080}/health"
|
||||
echo " - Jobs: http://localhost:${PORT:-8080}/jobs"
|
||||
echo ""
|
||||
echo "Press Ctrl+C to stop all services"
|
||||
|
||||
# Wait for the service to exit
|
||||
wait $SERVICE_PID
|
||||
Reference in New Issue
Block a user