61 lines
2.0 KiB
Plaintext
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!");
|