Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
118 commits
Select commit Hold shift + click to select a range
3457b48
Update requirements.txt to include new dependencies for Celery, Redis…
FranciscoLozCoding Oct 17, 2025
5476f01
Add job system for Weavloader with Celery integration
FranciscoLozCoding Oct 17, 2025
37faee6
Add Prometheus metrics package for Weavloader
FranciscoLozCoding Oct 17, 2025
10139a6
restructured inference module for Weavloader
FranciscoLozCoding Oct 17, 2025
56bbc05
updated dockerfile and to work with new modules
FranciscoLozCoding Oct 17, 2025
6c330bb
updated git ignore
FranciscoLozCoding Oct 17, 2025
5fb5af9
updated main files to work with new modules
FranciscoLozCoding Oct 17, 2025
7d37a07
updated wealoader readme
FranciscoLozCoding Oct 17, 2025
6ad60b1
Update Dockerfile to adjust script permissions for job system
FranciscoLozCoding Oct 17, 2025
c93e576
added missing package
FranciscoLozCoding Oct 17, 2025
4ba9495
Update Dockerfile and supervisord.conf to set proper permissions for …
FranciscoLozCoding Oct 17, 2025
8e63615
update readmem for k8s folder
FranciscoLozCoding Oct 17, 2025
70bd9f2
Refactor import statement in job_system to use 'app' instead of 'cele…
FranciscoLozCoding Oct 17, 2025
2b6c86f
Remove 'appendonlydir' option from Redis command in supervisord.conf
FranciscoLozCoding Oct 17, 2025
b193658
Enhance README.md with logging instructions for weavloader components…
FranciscoLozCoding Oct 17, 2025
36b4c3a
Update supervisord.conf to redirect logs to stdout and stderr for bet…
FranciscoLozCoding Oct 17, 2025
7324e02
Fix command path for metrics server in supervisord.conf
FranciscoLozCoding Oct 17, 2025
77ebf53
Update supervisord.conf to change log file path
FranciscoLozCoding Oct 17, 2025
57d9145
Update supervisord.conf to set log file sizes to enable /dev/std
FranciscoLozCoding Oct 17, 2025
280d6cb
Refactor metrics server execution by adding __main__.py entry point a…
FranciscoLozCoding Oct 17, 2025
60ebdaf
Add configuration to cancel long-running tasks on connection loss in …
FranciscoLozCoding Oct 17, 2025
084762a
Add broker connection retry settings in celery_config.py for improved…
FranciscoLozCoding Oct 17, 2025
c878577
Refactor logging configuration in main.py to initialize within the __…
FranciscoLozCoding Oct 17, 2025
2c40b9e
Enhance logging configuration in __main__.py to include timestamp and…
FranciscoLozCoding Oct 17, 2025
3bdc482
Update filter configuration in tasks.py to enable plugin and disable …
FranciscoLozCoding Oct 17, 2025
9b484fd
Refactor logging in tasks.py to use Celery's task logger
FranciscoLozCoding Oct 17, 2025
d384c31
Refactor image processing function to use a logger parameter for impr…
FranciscoLozCoding Oct 17, 2025
2f9eb5f
Add task queues and periodic task schedules in celery_config.py for i…
FranciscoLozCoding Oct 17, 2025
cfa28e2
Initialize Celery app in job_system and update task imports; modify t…
FranciscoLozCoding Oct 17, 2025
2750ade
Enhance main.py to support Celery beat scheduler and cleanup worker; …
FranciscoLozCoding Oct 17, 2025
9216d18
Update supervisord configuration to define separate programs for Cele…
FranciscoLozCoding Oct 17, 2025
75c85b1
Add PYTHONUNBUFFERED environment variable in Dockerfile for improved …
FranciscoLozCoding Oct 17, 2025
47600ca
Remove Celery beat scheduler command from main.py and update supervis…
FranciscoLozCoding Oct 17, 2025
a192b95
comment out unused commands
FranciscoLozCoding Oct 17, 2025
60398a9
Add node filtering feature to exclude specific nodes from processing
FranciscoLozCoding Oct 20, 2025
61cec0d
Implement shared client initialization
FranciscoLozCoding Oct 20, 2025
a204998
added comment
FranciscoLozCoding Oct 20, 2025
e3bf618
Refactor logging configuration to support dynamic log levels from env…
FranciscoLozCoding Oct 20, 2025
0318f86
Update logging level from debug to info for generated descriptions in…
FranciscoLozCoding Oct 20, 2025
78f4a71
Update process_image function to handle missing GPS coordinates
FranciscoLozCoding Oct 20, 2025
340a62c
Update Celery beat schedule for debugging
FranciscoLozCoding Oct 20, 2025
a45be5b
fixed syntax
FranciscoLozCoding Oct 20, 2025
e21d62b
added yaml file for defining promethous config
FranciscoLozCoding Oct 20, 2025
a8839fd
Implemented metrics client to give processes access to update metrics
FranciscoLozCoding Oct 20, 2025
14d897f
moved from http post endpoints to prom's multiprocess mode
FranciscoLozCoding Oct 21, 2025
6137db0
renamed data.py
FranciscoLozCoding Oct 21, 2025
ed9ff89
fixed missed rename
FranciscoLozCoding Oct 21, 2025
a270f49
update component health checks for clients.
FranciscoLozCoding Oct 21, 2025
909ce18
renamed file
FranciscoLozCoding Oct 21, 2025
edfffb9
Add Flower monitoring tool to Weavloader configuration
FranciscoLozCoding Oct 21, 2025
dc4e957
Enhance metrics endpoint to include Flower metrics
FranciscoLozCoding Oct 21, 2025
b7a2a83
Remove Redis port exposure from Docker configuration, everything is l…
FranciscoLozCoding Oct 21, 2025
b883fa1
Add metrics port exposure in Dockerfile for Weavloader
FranciscoLozCoding Oct 21, 2025
29ee24a
update readme
FranciscoLozCoding Oct 21, 2025
e54b1a2
Update sage_images_received_total metric to include job and task iden…
FranciscoLozCoding Oct 22, 2025
a000fe4
Add Prometheus multiprocess directory setup in Dockerfile and metrics…
FranciscoLozCoding Oct 22, 2025
6858cf9
fixed wrong import function
FranciscoLozCoding Oct 22, 2025
47877e2
Refactor Celery worker configurations and main script to support mult…
FranciscoLozCoding Oct 22, 2025
2c0eaea
dlq health check to modertor worker
FranciscoLozCoding Oct 22, 2025
0e52c74
Update logging tags from "WORKER" to "PROCESSOR" and "MONITOR" to "MO…
FranciscoLozCoding Oct 22, 2025
c13a838
Update README.md to enhance clarity on Celery worker roles
FranciscoLozCoding Oct 22, 2025
5b33fbc
removed old files
FranciscoLozCoding Oct 22, 2025
0aec58f
removed old files
FranciscoLozCoding Oct 22, 2025
569d1ba
Refactor Weaviate client initialization to accept parameters directly…
FranciscoLozCoding Oct 22, 2025
6d0b92f
add new arg
FranciscoLozCoding Oct 22, 2025
c86af29
Rename active_workers to active_nodes in metrics.py
FranciscoLozCoding Oct 22, 2025
3505322
Refactor error rate handling in metrics and cleanup_failed_tasks; rem…
FranciscoLozCoding Oct 22, 2025
2d3263d
Update metrics collection to reflect active nodes instead of workers;…
FranciscoLozCoding Oct 22, 2025
42417f1
Enhance memory usage tracking in metrics
FranciscoLozCoding Oct 22, 2025
5106381
Remove unused worker metrics and application info from metrics.py to …
FranciscoLozCoding Oct 22, 2025
adb12ab
Refactor error handling in process_image function to raise original e…
FranciscoLozCoding Oct 23, 2025
271b764
Refactor image data extraction in monitor_data_stream to handle missi…
FranciscoLozCoding Oct 23, 2025
38ef634
Refactor dead letter queue (DLQ) handling in task system
FranciscoLozCoding Oct 23, 2025
8120c44
Add Redis client initialization to metrics server
FranciscoLozCoding Oct 23, 2025
0fdaf2f
Update task imports in job system to include new DLQ processing funct…
FranciscoLozCoding Oct 23, 2025
689e13c
Update init
FranciscoLozCoding Oct 23, 2025
014eb2c
Remove unused datetime and timedelta imports
FranciscoLozCoding Oct 23, 2025
455fde3
move import statement
FranciscoLozCoding Oct 23, 2025
0fa984d
Update dead letter queue (DLQ) configuration to extend TTL and max re…
FranciscoLozCoding Oct 24, 2025
43837e6
Enhance model inference metrics by adding 'status' label to track suc…
FranciscoLozCoding Oct 24, 2025
9569def
reorganized code
FranciscoLozCoding Oct 24, 2025
acc9b0a
removed active node metric, this gets collected by flower
FranciscoLozCoding Oct 27, 2025
2d11368
Increase concurrency settings for image processing and cleanup worker…
FranciscoLozCoding Oct 27, 2025
2ab36e6
Refactor task metrics to use 'task' label instead of 'task_type' for …
FranciscoLozCoding Oct 27, 2025
79f8d3c
Remove task processed metric, flower collects this already
FranciscoLozCoding Oct 27, 2025
c49489f
changed to time.perf_counter() for metrics
FranciscoLozCoding Oct 27, 2025
0f437cb
Remove task duration metric, flower collects this already
FranciscoLozCoding Oct 28, 2025
f70e0e4
add status label to weviate operation duration metric
FranciscoLozCoding Oct 28, 2025
ed763be
Remove system health metric
FranciscoLozCoding Oct 29, 2025
cd50b97
Update Grafana dashboard configuration for Weavloader metrics
FranciscoLozCoding Oct 30, 2025
1c77a52
deleted old code
FranciscoLozCoding Oct 30, 2025
1b20233
added TODO
FranciscoLozCoding Oct 30, 2025
9dd84b6
updated grafana dash
FranciscoLozCoding Oct 30, 2025
76ea76b
Enhance data polling mechanism in watch function to use adaptive inte…
FranciscoLozCoding Oct 31, 2025
0d09897
Update filter configuration in monitor_data_stream to use the same as…
FranciscoLozCoding Oct 31, 2025
fc03f70
removed todo comment
FranciscoLozCoding Oct 31, 2025
fbb48ec
Remove DLQ health check task and related configuration from Celery setup
FranciscoLozCoding Oct 31, 2025
1a40b9c
Refactor monitoring task submission in main.py and remove old Celery …
FranciscoLozCoding Oct 31, 2025
d61d2bf
added default values for missing metadata fields.
FranciscoLozCoding Nov 3, 2025
bf27cde
Remove DLQ health check from imports and update __all__ exports accor…
FranciscoLozCoding Nov 3, 2025
b2b3b7e
updated dashboard
FranciscoLozCoding Nov 4, 2025
0ec1bf9
Refactor data stream monitoring, switched from continous task to sche…
FranciscoLozCoding Dec 2, 2025
effe38b
Set default value for MANIFEST_API and simplify interval configuratio…
FranciscoLozCoding Dec 2, 2025
dd4b127
Update Celery configuration to adjust monitoring and DLQ intervals fo…
FranciscoLozCoding Dec 2, 2025
87055c9
Refactor logging and variable naming in monitor_data_stream for clarity
FranciscoLozCoding Dec 2, 2025
606e3b3
Adjust timestamp handling in monitor_data_stream to query data from t…
FranciscoLozCoding Dec 2, 2025
e14fd35
Update timestamp handling in monitor_data_stream to query data from t…
FranciscoLozCoding Dec 2, 2025
9fedf20
Refine logging messages and comments in monitor_data_stream to clarif…
FranciscoLozCoding Dec 2, 2025
9f2ee3b
Enhance timestamp handling in monitor_data_stream to prevent duplicat…
FranciscoLozCoding Dec 3, 2025
89f1812
Add last timestamp update when no image found to improve data tracking
FranciscoLozCoding Dec 3, 2025
68bc6c6
Refine timestamp handling in monitor_data_stream to ensure accurate d…
FranciscoLozCoding Dec 3, 2025
39c1b06
do date calculation outside of method
FranciscoLozCoding Dec 3, 2025
860d323
update comment
FranciscoLozCoding Dec 3, 2025
4e86ddb
Refactor logging messages with functions that are shared between workers
FranciscoLozCoding Dec 3, 2025
e6e6826
Change logging level from debug to info for timestamp resumption in m…
FranciscoLozCoding Dec 3, 2025
ca99b86
Add check for finite values in clip embedding to prevent processing e…
FranciscoLozCoding Dec 3, 2025
f905793
Add safe coordinate handling to ensure valid latitude and longitude v…
FranciscoLozCoding Dec 3, 2025
127aecc
Add safe string handling to process_image for improved data integrity
FranciscoLozCoding Dec 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ __pycache__/
**/Images/
**.DS_Store
**/flagged/
.env
.env
settings.json
17 changes: 17 additions & 0 deletions HybridSearch_example/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,23 @@ services:
count: all
capabilities: [gpu]

weavloader:
build:
context: ./weavloader
ports:
- 8080:8080 # Metrics port
restart: on-failure
environment:
SAGE_USER: ${SAGE_USER}
SAGE_PASS: ${SAGE_PASS}
TRITON_HOST: 'triton'
TRITON_PORT: '8001'
WEAVIATE_HOST: 'weaviate'
WEAVIATE_PORT: '8080'
depends_on:
- weaviate
- triton

gradio-ui:
build:
context: ./app
Expand Down
1 change: 1 addition & 0 deletions HybridSearch_example/kubernetes/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This folder contains the nautilous Kubernetes deployment manifests for the Sage Hybrid Search system.
25 changes: 22 additions & 3 deletions HybridSearch_example/weavloader/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@ RUN apt-get update \
wget \
vim \
jq \
curl
curl \
redis-server \
supervisor

# Set working directory
WORKDIR /app
Expand All @@ -18,9 +20,26 @@ RUN pip install --no-cache-dir -r requirements.txt

# Set environment variables
ENV MANIFEST_API=https://auth.sagecontinuum.org/manifests/
ENV CELERY_BROKER_URL=redis://localhost:6379/0
ENV CELERY_RESULT_BACKEND=redis://localhost:6379/0
ENV PYTHONUNBUFFERED=1
ENV PROMETHEUS_MULTIPROC_DIR=/tmp/prometheus_multiproc_dir

# Copy the rest of the application code into the container
COPY . .

# Run upload.py
CMD ["python", "main.py"]
# Create supervisor configuration
RUN mkdir -p /var/log/supervisor
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf

# Create Redis data directory with proper permissions
RUN mkdir -p /var/lib/redis && chown -R root:root /var/lib/redis && chmod 755 /var/lib/redis

# Create Prometheus multiprocess directory
RUN mkdir -p /tmp/prometheus_multiproc_dir && chmod 755 /tmp/prometheus_multiproc_dir

# Expose ports
EXPOSE 8080

# Use supervisor to manage both Redis and Celery
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]
Loading