개정판 2bbea412
프로젝트 ReadMe.txt 추가
Change-Id: I730b5c24072f5de1cbe60365fc447aa6a244275f
ConvertService/ServiceBase/Markus.Service.Station/ServiceStation.cs | ||
---|---|---|
121 | 121 |
// PDF 임시 다운로드 폴더 |
122 | 122 |
DownloadTempFolder = config.GetValue(CONFIG_DEFINE.SERVICE, CONFIG_DEFINE.DOWNLOAD_TEMP_FOLDER,"C:\\temp"); |
123 | 123 |
|
124 |
// pThraed를 이용한 컨버팅 설정. |
|
125 |
//최대 페이지가 MultiThreadMaxPages설정까지 pThread를 적용하여 컨버팅함. |
|
124 | 126 |
MultiThreadMaxPages = System.Convert.ToInt16(config.GetValue(CONFIG_DEFINE.SERVICE, CONFIG_DEFINE.MULTI_TRHEAD_MAX_PAGE, "500")); |
125 | 127 |
|
128 |
// 서비스 상태 Log 저장간격 |
|
126 | 129 |
SaveStatusInterval = System.Convert.ToInt16(config.GetValue(CONFIG_DEFINE.SERVICE, CONFIG_DEFINE.SAVE_STATUS_INTERVAL, "5")); |
127 | 130 |
|
131 |
//PDF에 폰트가 최소 폰트 사이즈보다 작은 사이증의 폰트가 있으면 해상도를 높여서 컨버팅함. |
|
128 | 132 |
MinFontSize = System.Convert.ToInt16(config.GetValue(CONFIG_DEFINE.SERVICE, CONFIG_DEFINE.MIN_FONT_SIZE, "10")); |
129 | 133 |
|
134 |
// 사용자 설정의 해상도 |
|
135 |
// MinFontSize를 -1로 하고 UseResolution를 설정하면 해당 해상도로 컨버팅됨 |
|
130 | 136 |
UseResolution = System.Convert.ToInt16(config.GetValue(CONFIG_DEFINE.SERVICE, CONFIG_DEFINE.USE_RESOLUTION, "0")); |
131 | 137 |
|
138 |
// 각 프로세스의 최대 메모리 사용량 |
|
132 | 139 |
var workingMemory = System.Convert.ToDouble(config.GetValue(CONFIG_DEFINE.SERVICE, CONFIG_DEFINE.RELEASE_WORK_MEMORY, "1.5")); |
133 | 140 |
|
134 | 141 |
ReleaseWorkMemory = MathBytes.Bytes(workingMemory, DataSizeType.GB); |
135 | 142 |
|
143 |
// 서비스 사용 프로젝트 |
|
136 | 144 |
var projectList = config.GetValue(CONFIG_DEFINE.SERVICE, CONFIG_DEFINE.FITER_PROCECT,""); |
137 | 145 |
|
138 | 146 |
if(!projectList.IsNullOrEmpty()) |
... | ... | |
150 | 158 |
gServiceHostAddress = UriHelper.UriCreate($"http://localhost:{port}/{endpointName}"); |
151 | 159 |
} |
152 | 160 |
|
161 |
// 각 ConvertService의 원격 관리를 위한 서비스 설정 로드 |
|
153 | 162 |
using (Markus.Service.DataBase.ConvertDatabase db = new Markus.Service.DataBase.ConvertDatabase(MarkusDBConnectionString)) |
154 | 163 |
{ |
155 | 164 |
ServiceProperty = db.GetServiceProperties(ServiceID); |
... | ... | |
173 | 182 |
logger.Error("ServiceStation Start Error - ", ex); |
174 | 183 |
} |
175 | 184 |
} |
176 |
|
|
177 |
private void Timer_Elapsed(object sender, ElapsedEventArgs e) |
|
178 |
{ |
|
179 |
|
|
180 |
//System.Diagnostics.Debug.WriteLine("timer : " + e?.SignalTime); |
|
181 |
//try |
|
182 |
//{ |
|
183 |
// if (!IsReleaseItems) |
|
184 |
// { |
|
185 |
// ReleaseItems(); |
|
186 |
// } |
|
187 |
|
|
188 |
// if ((DateTime.Now - logTime) >= new TimeSpan(0, 5, 0)) |
|
189 |
// { |
|
190 |
// logTime = DateTime.Now; |
|
191 |
// logger.Info("StationService Alive Check"); |
|
192 |
// } |
|
193 |
//} |
|
194 |
//catch (Exception ex) |
|
195 |
//{ |
|
196 |
// logger.Error("Timer Error " ,ex); |
|
197 |
//} |
|
198 |
|
|
199 |
//System.Threading.Thread.SpinWait(1000); |
|
200 |
|
|
201 |
//timer.Start(); |
|
202 |
} |
|
203 |
|
|
185 |
|
|
204 | 186 |
/// <summary> |
205 | 187 |
/// alivequeue와 process를 비교하여 정리하고 |
206 | 188 |
/// 대기중인 아이템을 분배한다. |
... | ... | |
282 | 264 |
public bool StartService() |
283 | 265 |
{ |
284 | 266 |
|
267 |
/// 서비스 설정 로드 |
|
285 | 268 |
try |
286 | 269 |
{ |
287 | 270 |
this.GetApplicationConfig(); |
... | ... | |
302 | 285 |
throw new Exception("StartService Error. ", e); |
303 | 286 |
} |
304 | 287 |
|
288 |
/// pThread.dll을 리소스에서 Service 실행 디렉토리로 복사. |
|
305 | 289 |
try |
306 | 290 |
{ |
307 | 291 |
// MarkusPDF.dll에서 pThread lib 사용을 위해 Insatll |
... | ... | |
321 | 305 |
throw new Exception("Stop Installer Error. ", e); |
322 | 306 |
} |
323 | 307 |
|
308 |
/// 컨버터 프로세스가 실행중인 경우 모두 중지 시킨다. |
|
324 | 309 |
try |
325 | 310 |
{ |
326 | 311 |
// 기존에 실행 중이던 프로세스 종료 |
... | ... | |
332 | 317 |
throw new Exception("Stop Process Error. ", e); |
333 | 318 |
} |
334 | 319 |
|
320 |
/// wcf 서비스 실행 |
|
335 | 321 |
try |
336 | 322 |
{ |
337 | 323 |
// WCF 실행 |
내보내기 Unified diff