first commit
This commit is contained in:
60
scripts/multi_instance.rhai
Normal file
60
scripts/multi_instance.rhai
Normal file
@@ -0,0 +1,60 @@
|
||||
// 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!");
|
||||
Reference in New Issue
Block a user