-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstartPriceMigration.ps1
More file actions
262 lines (142 loc) · 7.03 KB
/
startPriceMigration.ps1
File metadata and controls
262 lines (142 loc) · 7.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
<#
Purpose: the script will check to see if Endeca Full Build is running. If not running, then trigger price migration
Create Date: 5/23/2016
Created By: Tommy Yuen
#>
#region include other powershell script
# to include the powershell script to connect to database, the period infront is to indicate "include"
IMPORT-MODULE "C:\Projects\PriceMigrationDelay\generalFunction.ps1"
IMPORT-MODULE "C:\Projects\PriceMigrationDelay\databaseFunction.ps1"
#endregion
#region variable declaration
$environment = 'dev'
$endecaNetworkBasePath = 'network_folder'
$logFileName = 'PriceMigrationJob_' + (Get-Date -Format yyyMMdd) + '.log'
$logfile = "C:\Logs\PriceListMigration\$logFileName"
$server = 'database_server'
$database = 'database'
#endregion
#region generating script information
try {
# to redirect output message to a log file, there is a "stop-transacript" at the bottom of the file
start-transcript -append -path $logfile
}
catch {
# file is locked, closing this file
stop-transcript
}
#endregion
#region processFullBuildSignalFile
function processFullBuildSignalFile {
#Vars for Server and JobName
param([string]$endecaIndex, [string]$signalFile, [string]$fullBuildTime, [string]$server, [string]$jobName)
write-host (get-date -format('MM/dd/yyyy hh:mm:ss ')) "Checking for $endecaIndex"
# check if the full build signal file exit
IF (!(Test-Path $signalFile))
{
# if signal not found, will run price migration job
write-host (get-date -format('MM/dd/yyyy hh:mm:ss')) (Split-Path -Leaf $signalFile) " not found. Starting Price Migration job for $endecaIndex"
# runTSQLScript -server $server -database $database -tsqlScript $sqlScript
startDatabaseJob -Server $server -JobName $jobName
}
ELSE
{
# if signal file found, will not run price migration job
write-host (get-date -format('MM/dd/yyyy hh:mm:ss')) (Split-Path -Leaf $signalFile) " found. Price Migration job will not started for $endecaIndex"
# check to see if build is running too long. if yes, will send email to team
checkSignalFile -endecaIndex $endecaIndex -signalFile $signalFile -fullBuildTime $fullBuildTime
}
}
#endregion
#region WebZ1L1 (apc.com)
$endecaIndex = 'WebZ1L1'
$signalFile = "$endecaNetworkBasePath\$environment\$endecaIndex\$endecaIndex.endecaFullBuildRunning.txt"
# Database info
$jobName = "Price List Migration – Zone 1"
$fullBuildTime = 360
# $sqlScript = "INSERT INTO tommyTest (Status) VALUES ('Oaky')"
processFullBuildSignalFile -endecaIndex $endecaIndex -signalFile $signalFile -fullBuildTime $fullBuildTime -server $server -jobName $jobName
#endregion
#region WebZ3L1 (art.com)
$endecaIndex = 'WebZ3L1'
$signalFile = "$endecaNetworkBasePath\$environment\$endecaIndex\$endecaIndex.endecaFullBuildRunning.txt"
# Database info
$jobName = "Price List Migration – Zone 3"
$fullBuildTime = 360
# $sqlScript = "INSERT INTO tommyTest (Status) VALUES ('Oaky')"
processFullBuildSignalFile -endecaIndex $endecaIndex -signalFile $signalFile -fullBuildTime $fullBuildTime -server $server -jobName $jobName
#endregion
#region WebZ4L1 (art.co.uk)
$endecaIndex = 'WebZ4L1'
$signalFile = "$endecaNetworkBasePath\$environment\$endecaIndex\$endecaIndex.endecaFullBuildRunning.txt"
# Database info
$jobName = "Price List Migration – Zone 4"
$fullBuildTime = 360
# $sqlScript = "INSERT INTO tommyTest (Status) VALUES ('Oaky')"
processFullBuildSignalFile -endecaIndex $endecaIndex -signalFile $signalFile -fullBuildTime $fullBuildTime -server $server -jobName $jobName
#endregion
#region WebZ5L6 (apc.co.jp)
$endecaIndex = 'WebZ5L6'
$signalFile = "$endecaNetworkBasePath\$environment\$endecaIndex\$endecaIndex.endecaFullBuildRunning.txt"
# Database info
$jobName = "Price List Migration – Zone 5"
$fullBuildTime = 360
# $sqlScript = "INSERT INTO tommyTest (Status) VALUES ('Oaky')"
processFullBuildSignalFile -endecaIndex $endecaIndex -signalFile $signalFile -fullBuildTime $fullBuildTime -server $server -jobName $jobName
#endregion
#region WebZ12L2 (apc.fr)
$endecaIndex = 'WebZ12L2'
$signalFile = "$endecaNetworkBasePath\$environment\$endecaIndex\$endecaIndex.endecaFullBuildRunning.txt"
# Database info
$jobName = "Price List Migration – Zone 5"
$fullBuildTime = 360
# $sqlScript = "INSERT INTO tommyTest (Status) VALUES ('Oaky')"
processFullBuildSignalFile -endecaIndex $endecaIndex -signalFile $signalFile -fullBuildTime $fullBuildTime -server $server -jobName $jobName
#endregion
#region Web13L3 (apc.de)
$endecaIndex = 'WebZ13L3'
$signalFile = "$endecaNetworkBasePath\$environment\$endecaIndex\$endecaIndex.endecaFullBuildRunning.txt"
# Database info
$jobName = "Price List Migration – Zone 13"
$fullBuildTime = 360
# $sqlScript = "INSERT INTO tommyTest (Status) VALUES ('Oaky')"
processFullBuildSignalFile -endecaIndex $endecaIndex -signalFile $signalFile -fullBuildTime $fullBuildTime -server $server -jobName $jobName
#endregion
#region Web20L12 (apc.com.br)
$endecaIndex = 'WebZ20L12'
$signalFile = "$endecaNetworkBasePath\$environment\$endecaIndex\$endecaIndex.endecaFullBuildRunning.txt"
# Database info
$jobName = "Price List Migration – Zone 20"
$fullBuildTime = 360
# $sqlScript = "INSERT INTO tommyTest (Status) VALUES ('Oaky')"
processFullBuildSignalFile -endecaIndex $endecaIndex -signalFile $signalFile -fullBuildTime $fullBuildTime -server $server -jobName $jobName
#endregion
#region Web25L2 (art.fr)
$endecaIndex = 'WebZ25L2'
$signalFile = "$endecaNetworkBasePath\$environment\$endecaIndex\$endecaIndex.endecaFullBuildRunning.txt"
# Database info
$jobName = "Price List Migration – Zone 25"
$fullBuildTime = 360
# $sqlScript = "INSERT INTO tommyTest (Status) VALUES ('Oaky')"
processFullBuildSignalFile -endecaIndex $endecaIndex -signalFile $signalFile -fullBuildTime $fullBuildTime -server $server -jobName $jobName
#endregion
#region WebZ100L1 (Conde Nast)
$endecaIndex = 'WebZ100L1'
$signalFile = "$endecaNetworkBasePath\$environment\$endecaIndex\$endecaIndex.endecaFullBuildRunning.txt"
# Database info
$jobName = "Price List Migration – Zone 1"
$fullBuildTime = 240
# $sqlScript = "INSERT INTO tommyTest (Status) VALUES ('Oaky')"
processFullBuildSignalFile -endecaIndex $endecaIndex -signalFile $signalFile -fullBuildTime $fullBuildTime -server $server -jobName $jobName
#endregion
#region WebZ2L1 (apc.co.uk)
$endecaIndex = 'WebZ2L1'
$signalFile = "$endecaNetworkBasePath\$environment\$endecaIndex\$endecaIndex.endecaFullBuildRunning.txt"
# Database info
# $sqlScript = "INSERT INTO tommyTest (Status) VALUES ('Okay')"
$jobName = "Price List Migration – Zone 2"
$fullBuildTime = 300
processFullBuildSignalFile -endecaIndex $endecaIndex -signalFile $signalFile -fullBuildTime $fullBuildTime -server $server -jobName $jobName
#endregion
# stop logging output
stop-transcript