コード例 #1
0
ファイル: CManager.cs プロジェクト: Youkyungjin/Crawler
        public void StartCrawling(BackgroundWorker pWorker, CRAWLER_ACTION action, Int32 ChannelIndex)
        {
            bool bResult = true;

            Worker_ = pWorker;
            bResult = MakeCrawler((CHANNEL)ChannelIndex);

            if (bResult)
            {
                BaseChannel_.Init();
                switch (action)
                {
                case CRAWLER_ACTION.INSERT:
                {
                    Insert();
                }
                break;

                case CRAWLER_ACTION.PROCESS:
                {
                    ProcessX();
                }
                break;

                case CRAWLER_ACTION.CHECK:
                {
                    Check();
                }
                break;

                default:
                {
                    ProcessStateManager.Instance.State_            = CRAWLER_STATE.FINISH_WITH_ERROR;
                    ProcessStateManager.Instance.LastErrorMessage_ = string.Format("Error StartCrawling 액션값이 잘못됨 {0}", action);
                    NewLogManager2.Instance.Log(ProcessStateManager.Instance.LastErrorMessage_);
                    bResult = false;
                }
                break;
                }
            }
            else
            {
                ProcessStateManager.Instance.State_            = CRAWLER_STATE.FINISH_WITH_ERROR;
                ProcessStateManager.Instance.LastErrorMessage_ = string.Format("Error StartCrawling 크롤러 생성에 실패함 {0}", ChannelIndex);
                NewLogManager2.Instance.Log(ProcessStateManager.Instance.LastErrorMessage_);
            }

            // 사용한 엑셀 파일 삭제
            if (CINIManager.Instance.deletedownfile_ == true)
            {
                if (BaseChannel_ != null)
                {
                    BaseChannel_.DeleteDownloadedFile();
                }
            }
        }