Files
osiris/scripts/multi_instance.rhai
Timur Gordon 097360ad12 first commit
2025-10-20 22:24:25 +02:00

61 lines
2.0 KiB
Plaintext

// Multi-Instance OSIRIS Example
// Demonstrates using multiple OSIRIS instances in a single script
print("=== Multi-Instance OSIRIS Test ===\n");
// Create two OSIRIS instances
print("Creating OSIRIS instances...");
let freezone = osiris("freezone", "redis://localhost:6379", 1);
let my_osiris = osiris("my_osiris", "redis://localhost:6379", 2);
print(`✓ Created: ${freezone.name()}`);
print(`✓ Created: ${my_osiris.name()}\n`);
// Create a note
print("Creating note...");
let my_note = note("shared_notes")
.title("Multi-Instance Test Note")
.content("This note will be stored in both OSIRIS instances!")
.tag("test", "multi-instance")
.tag("shared", "true");
print(`Note created: ${my_note.get_title()}\n`);
// Store in freezone instance
print("Storing in freezone...");
let freezone_id = freezone.put_note(my_note);
print(`✓ Stored in freezone with ID: ${freezone_id}\n`);
// Store in my_osiris instance (same note, different storage)
print("Storing in my_osiris...");
let my_id = my_osiris.put_note(my_note);
print(`✓ Stored in my_osiris with ID: ${my_id}\n`);
// Retrieve from freezone
print("Retrieving from freezone...");
let freezone_note = freezone.get_note("shared_notes", freezone_id);
print(`✓ Retrieved from freezone: ${freezone_note.get_title()}\n`);
// Retrieve from my_osiris
print("Retrieving from my_osiris...");
let my_note_retrieved = my_osiris.get_note("shared_notes", my_id);
print(`✓ Retrieved from my_osiris: ${my_note_retrieved.get_title()}\n`);
// Query both instances
print("Querying freezone...");
let freezone_ids = freezone.query("shared_notes", "tags:tag", "shared=true");
print(`✓ Found in freezone:`);
for id in freezone_ids {
print(` - ${id}`);
}
print("");
print("Querying my_osiris...");
let my_ids = my_osiris.query("shared_notes", "tags:tag", "shared=true");
print(`✓ Found in my_osiris:`);
for id in my_ids {
print(` - ${id}`);
}
print("\n=== Test Complete ===");
print("Successfully demonstrated multi-instance OSIRIS!");