Add new attachment

Only authorized users are allowed to upload new attachments.

List of attachments

Kind Attachment Name Size Version Date Modified Author Change note
png
controller.png 428.8 kB 1 07-Apr-2024 01:39 Ben Spink
png
controller_setup.png 38.1 kB 1 07-Apr-2024 01:31 Ben Spink
png
dc1_only.png 34.5 kB 1 07-Apr-2024 01:27 Ben Spink
png
dc1_unless.png 34.6 kB 1 07-Apr-2024 01:27 Ben Spink
xml
job.XML 38.1 kB 1 08-Apr-2024 11:11 Ben Spink

This page (revision-7) was last changed on 08-Apr-2024 11:12 by Ben Spink

This page was created on 07-Apr-2024 01:21 by Ben Spink

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Difference between version and

At line 5 added 4 lines
All four servers are using replication and cross pointing at each other.\\
Each pair of Main servers in each DC has ServerBeat configured using the "JOB" VIP (or a real VIP) so that only one Main server in each DC is actually running jobs.\\
\\
!!Expectations:
At line 13 added 24 lines
To accomplish this we will use variables for the "enabled" flag in all our jobs....specifically global variables. There will be another job that runs every minute which is configuring variables for the current status of things.\\
[attachments|dc1_only.png] [attachments|dc1_unless.png]\\
\\
The "controller" job on these variables utilizes the hostname of the current machine to determine if its running in a dc1 or dc2 environment. This is "row 1" area of the job. This is critical that the hostname has some marker you can use to distinguish which DC you are running in. The very first part of the job simply looks at the current hostname to decide which one we are in and sets a variable for future decisions. This controller job runs frequently, so you should turn off saving state between steps and saving state at the end. Maybe keep them enabled which configuring, but then turn those off to not have a lot of job pollution.\\
[attachments|controller_setup.png]\\
\\
OK, finally...now into the job logic. The logic is "simple" and yet complex at the same time. Please follow along.\\
''(Row 2 area)''\\
1.) We check if we are in DC1. If we are, we enable the flags for dc1_only and dc1_unless to be true. (We are in DC1, so those are definitely true.)\\
2.) If we are not in DC1, then we need to check if DC1 is online or not...is a server in DC1 responding? We do this by checking the list of reporting hostnames in the variable: server_active_replicated_hostnames\\
2.a.) If we see a server responding from DC1, then we set the flag dc1_unless to false.\\
2.b.) If we don't see any servers from DC1, then we set the flag dc1_unless to true.\\
\\
Now we repeat for the opposite scenario of DC2.\\
''(Row 3 area)''\\
1.) We check if we are in DC2. If we are, we enable the flags for dc2_only and dc2_unless to be true. (We are in DC2, so those are definitely true.)\\
2.) If we are not in DC2, then we need to check if DC2 is online or not...is a server in DC2 responding? We do this by checking the list of reporting hostnames in the variable: server_active_replicated_hostnames\\
2.a.) If we see a server responding from DC2, then we set the flag dc2_unless to false.\\
2.b.) If we don't see any servers from DC2, then we set the flag dc2_unless to true.\\
\\
And here is the overall job flow:\\
[attachments|controller.png]\\
Sample job.XML can be downloaded here: [attachments|job.XML]
Version Date Modified Size Author Changes ... Change note
7 08-Apr-2024 11:12 3.322 kB Ben Spink to previous
6 08-Apr-2024 11:12 3.322 kB Ben Spink to previous | to last
5 07-Apr-2024 01:45 3.26 kB Ben Spink to previous | to last
4 07-Apr-2024 01:39 2.709 kB Ben Spink to previous | to last
3 07-Apr-2024 01:31 1.566 kB Ben Spink to previous | to last
2 07-Apr-2024 01:27 0.915 kB Ben Spink to previous | to last
1 07-Apr-2024 01:21 0.621 kB Ben Spink to last
« This page (revision-7) was last changed on 08-Apr-2024 11:12 by Ben Spink
G’day (anonymous guest)
CrushFTP11 | What's New

Referenced by
CrushTask

JSPWiki