Sign in to follow this  
Followers 0

Globals Conflict on FMS


7 posts in this topic

Posted

I need clarification on how FMS schedules process. Our system has several server scripts that run at night. They are called from separate schedules and we assumed that they each run the File Open script.

1. If Schedule 1 takes 3 hrs and Schedule 2 starts at 2am, does it run concurrently or wait until Schedule1 is complete?

2. If it runs concurrently, does Schedule 2 run the File's Open Script or does it say, "hmm...I already have a session, I'll skip the Open Script?"

I ask because we are seeing unexpected settings to our global fields. These fields are set in the Open Script. We're starting to think concurrent server scripts are "overwriting" the global values. We are considering a master server script controller to avoid concurrent server scripts (if that's necessary).

tia,

Barbara

Share this post


Link to post
Share on other sites

Posted

You would not see values in Globals set by a server script because globals are specific the the user and in order to see global values set by the server, you would have to be the server :unsure:

Share this post


Link to post
Share on other sites

Posted

Let me clarify. These scripts set fields in records to the global value. We are receiving the incorrect global value.

Share this post


Link to post
Share on other sites

Posted

Let me clarify. These scripts set fields in records to the global value. We are receiving the incorrect global value.

It seems to me the only Global values that the server can draw from were either there when the file was hosted or they would have to have been set by the server previously.

Barbara, I know you are far more advanced than I, so I'm just curious more so than trying to offer an answer. I doubt I could come up with anything you haven't already thought of. :)

Share this post


Link to post
Share on other sites

Posted

I don't know the answer either, but here is a test I would do...

  1. Create a script that pauses for a few min (if pause isn't a server compatible step, then have it do something to take up a few min. time).
  2. Make the "on file open" script create a new record, and insert the current timestamp into a field.
  3. Schedule the server to run the "pause" script twice: 1 min apart (separate schedules)
  4. Look at the records created, and the time's in the timestamp field.

    1. If only one record is created, then the "on file open" script IS skipped for the second script
    2. If two records are created, and the time between the timestamps is more than 1 min. apart, then the server does wait for the first script
    3. If two records are created, and the time between the timestamps is 1 min, then they are both triggered on schedule, regardless of other running scripts

ps. might also want to save the timestamp when the script finishes to be sure the first script was running when the 2nd script started.

Share this post


Link to post
Share on other sites

Posted

The current behavior of server is that when a server script sets a global, the value then becomes the default, just as if the global had been set in single-user mode.

Share this post


Link to post
Share on other sites

Posted

It boils down to confirming that schedules queue and do not run concurrently, even if they are run as two different accounts, and so server has only one set of globals at any one time. Also, every time a schedule is run, server performs the File Open script.

Thank you for the suggestions.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0