Hyrex provides a built-in key-value store for sharing state between tasks and workers. All methods are static and can be called from anywhere in your application.
from hyrex import HyrexKV# Set a valueHyrexKV.set("user:123:status", "active")# Get a valuestatus = HyrexKV.get("user:123:status") # Returns "active"# Get with default valuestatus = HyrexKV.get("missing-key", default="unknown") # Returns "unknown"# Delete a valueHyrexKV.delete("user:123:status")
@hy.taskdef process_batch(batch_id: str): # Mark as processing HyrexKV.set(f"batch:{batch_id}:status", "processing") # Do work... # Mark complete HyrexKV.set(f"batch:{batch_id}:status", "complete")
@hy.taskdef get_user_data(user_id: str): # Check cache cached = HyrexKV.get(f"cache:user:{user_id}") if cached: return json.loads(cached) # Fetch from DB user = fetch_from_db(user_id) # Cache result HyrexKV.set(f"cache:user:{user_id}", json.dumps(user)) return user