Link to home
Start Free TrialLog in
Avatar of notesrookie
notesrookieFlag for United States of America

asked on

Scheduled agents and the documents they run on

Greeting learned ones,

I was about to schedule an agent to run on a weekly basis but then wondered how exactly does a scheduled agent work. You set the schedule and then you select either all documents in the database or all new and modified documents. And yet I don't want the agent to run on either of these choices. My agent grabs information from databaseB, checks it against documents in a specific view in databaseA and if a doc does not exist in databaseA but does in databaseB, it will create the doc in databaseA. So I should be able to go ahead and run this agent? Anything to look out for other than UI type functions? Thank you.
Avatar of mshogren
mshogren

Hi,

If you are using Lotusscript in your agent then your document does not run on all document or all new and modified documents unless you use the UnprocessedDocuments property of the database object.  Those options are intended more for formula agents.

Your agent sounds like it should run fine.  One thing to consider is whether or not databaseA and databseB are on the same server.  If not then you may have to change the security settings on the server documents in order for and agent on one server to operate on a database on another.
How many documents are you running through?  And what is the average time spent, so that you don't exceed the agent time - most servers have a maximum agent time set, and if you exceed it, then the agent shuts down.  While it generally runs fine at first, when the databases accumulate documents, they get slower.

So, agent takes too long to process.. is another one.  It shouldn't create duplicates from the sound of it, and if it runs when nothing else is running then you shouldn't get replication conflicts.
Avatar of notesrookie

ASKER

I looked at the ACL in databaseB and saw that the server that databaseA is on will not be able to open databaseB. It only allows a selected group reader access to it and I am a part of that group but not the server. If I sign the agent will that allow the agent to do what it needs to do? Thanks.
Yes it should work if you sign it.
Unfortunately, signing the agent, running on behalf of and allowing restricted operation with full administrator rights did not work. Is there anything else that I should try? I know it works but only if I run it from my Notes client. It won't run when scheduled on the server and it specifically stops at the point where it is trying to open the databaseB. Thank you.
There should be an error message in the log.nsf database if the agent is not running properly on schedule.  If you tell me what that message is I should be able to help a little more.
Basically I coded the agent so that if it is unable to open the database, to exit the procedure. The portion of the agent involved is

ServerName = "Server/Domain"      
dbReplicaID = "852570EE006801F3"
Dim db As New NotesDatabase ("", "")
If db.OpenByReplicaID(ServerName, dbReplicaID) Then
      Print (db.Title & " was successfully opened")
Else
      Messagebox ("Unable to open " & db.Title & ". This procedure will now exit.") *
      Exit Sub
End If

The notes log shows the * lines above. Before I coded it this way the error message I received was AMgr: Agent ('SomeAgent' in 'path\databaseA.nsf') error message: Database ServerB!!path\databaseB.nsf has not been opened yet.
 Thanks.
ASKER CERTIFIED SOLUTION
Avatar of mshogren
mshogren

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Yes they are and I will not be able to add serverA as a trusted server on serverB's server doc. I guess that answers my question. Thank you.