Пример #1
0
        public void SetCompleteJob(TseJob job)
        {
            Console.WriteLine("[ SetCompleteJob ] 準備把任務[ {0} ]設定為完成", job.MainDirName);
            JobCreator creator = null;

            if (this._jobCreatorMap.TryGetValue(job.CreatorType, out creator))
            {
                creator.AddCompleteJob(job);
            }
        }
Пример #2
0
        /// <summary>
        /// 定時產生一個任務
        /// </summary>
        /// <param name="state"></param>
        public void CreateJob(object state)
        {
            Console.WriteLine("[ CreateJob ] Thread Timer 開始定時產生一個TseJob");

            JobCreator creator = null;

            do
            {
                creator = this._creatorFactory.RandomProduce();
                if (creator != null)
                {
                    TseJob aJob = null;
                    do
                    {
                        aJob = creator.CreateJob();
                    } while (aJob == null);

                    AddJob(aJob);
                }
            } while (creator == null);
        }
Пример #3
0
        private JobCreator Produce(JobCreatorType t)
        {
            JobCreator creator = null;

            Console.WriteLine("[ Produce ] 準備產生JobCreatorType->[ {0} ]", t);

            if (this._jobCreatorMap.TryGetValue(t, out creator) == false)
            {
                switch (t)
                {
                case JobCreatorType.MiIndex:
                    creator = new MiIndexJobCreator();
                    break;

                case JobCreatorType.Fmtqik:
                    creator = new FmtqikJobCreator();
                    break;

                case JobCreatorType.StockFirst:
                    creator = new StockFirstJobCreator();
                    break;

                case JobCreatorType.MiIndex20:
                    creator = new MiIndex20JobCreator();
                    break;

                case JobCreatorType.Mi5Mins:
                    creator = new Mi5MinsJobCreator();
                    break;

                case JobCreatorType.Bfiamu:
                    creator = new BfiamuJobCreator();
                    break;

                case JobCreatorType.StockDay:
                    creator = new StockDayJobCreator();
                    break;

                case JobCreatorType.Twtasu:
                    creator = new TwtasuJobCreator();
                    break;

                case JobCreatorType.StockDayAvg:
                    creator = new StockDayAvgJobCreator();
                    break;

                case JobCreatorType.Fmsrfk:
                    creator = new FmsrfkJobCreator();
                    break;

                case JobCreatorType.Fmnptk:
                    creator = new FmnptkJobCreator();
                    break;

                case JobCreatorType.Twt72u:
                    creator = new Twt72uJobCreator();
                    break;

                case JobCreatorType.Twt93u:
                    creator = new Twt93uJobCreator();
                    break;

                case JobCreatorType.MiMargin:
                    creator = new MiMarginJobCreator();
                    break;

                default:
                    creator = null;
                    break;
                }

                if (creator != null)
                {
                    Console.WriteLine("[ Produce ] 把[ {0} ]類型的JobCreator放入集合中", t.ToString().ToUpper());
                    this._jobCreatorMap.Add(t, creator);
                }
            }

            if (creator != null)
            {
                Console.WriteLine("[ Produce ] 這次產生(或找到)[ {0} ]類型的JobCreator", t.ToString().ToUpper());
            }

            return(creator);
        }