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!");
 |