Today I tested my agent, which updated some calendar entries, which were replicated via LEI from a MSSQL database.
Lei replicated the data in a notesdatabase in under a minute. After the replication, LEI started my agent, which took more then 1900 seconds to process around 1000 entries.
The problem was, that the LEI replication job started every 30 minutes. The agent stopped with the error "document has been deleted".
Change the replication schedule would solve the problem. But more than 30 minutes for my agent? I can do better.
The agent used a lot of Notesdatabase.search() calls to prevent duplicated entries in the users calendar.
Refactoring the Notesdatabase.search() to Notesview.getAlldocumentsbyKey() and some minor improvements made a nice performance boost.
The result: from around 1900 Seconds to 160 to 190 seconds for the same amount of documents.
The use of the search() method has been chosen to avoid changing the mailtemplate (multilingual environment R7 migrating to R8). And in
the test environment I only used too less data....
Now the agent checks wether a special view is available and creates it if needed.
The first solution is not necessary the best.....
Comments (0)