/// <summary>
        /// 简单测试
        /// </summary>
        static void SimpleTest(int counter)
        {
            var client = new BackgroundJobClient();
            var jobId  = client.Enqueue(() => SomeMethod(0));
            var jobId1 = client.Enqueue(() => SomeMethod1(0));
            var jobId2 = client.Enqueue(() => SomeMethod2(0));
            var jobId3 = client.Enqueue(() => SomeMethod3(0));
            var jobId4 = client.Enqueue(() => SomeMethod4(0));
            var jobId5 = client.Enqueue(() => SomeMethod5(0));
            var jobId6 = client.Enqueue(() => SomeMethod6(0));
            var jobId7 = client.Enqueue(() => SomeMethod7(0));
            var jobId8 = client.Enqueue(() => SomeMethod8(0));
            var jobId9 = client.Enqueue(() => SomeMethod9(0));

            for (int i = 1; i < counter; i++)
            {
                jobId = client.ContinueWith(jobId, () => SomeMethod(i));
                //Thread.Sleep(1000);
                jobId1 = client.ContinueWith(jobId1, () => SomeMethod1(i));
                jobId2 = client.ContinueWith(jobId2, () => SomeMethod2(i));
                //jobId3 = client.ContinueWith(jobId3, () => SomeMethod3(i));
                client.Enqueue(() => SomeMethod3(i));
                jobId4 = client.ContinueWith(jobId4, () => SomeMethod4(i));
                jobId5 = client.ContinueWith(jobId5, () => SomeMethod5(i));
                jobId6 = client.ContinueWith(jobId6, () => SomeMethod6(i));
                jobId7 = client.ContinueWith(jobId7, () => SomeMethod7(i));
                jobId8 = client.ContinueWith(jobId8, () => SomeMethod8(i));
                jobId9 = client.ContinueWith(jobId9, () => SomeMethod9(i));
            }
        }
Ejemplo n.º 2
0
Archivo: Job.cs Proyecto: clawit/Fan
 public static string Continue(string jobId, Expression <Action> method)
 {
     if (_storage == null || _client == null)
     {
         throw new Exception("Init has not been called yet.");
     }
     else
     {
         return(_client.ContinueWith(jobId, method));
     }
 }
Ejemplo n.º 3
0
        public IHttpActionResult hangefire(string name, string message)
        {
            BackgroundJobClient _jobs = new BackgroundJobClient();
            //新增一個作業
            var parentId = _jobs.Enqueue <BuysomethingCls>(x => x.GobuySomething(name, message));

            //作業完成後執行
            _jobs.ContinueWith <BuysomethingCls>(parentId, x => x.GoHome(parentId, name, message));
            //回傳TaskId
            return(Ok(parentId));
        }
        static void DocExtract(int caseNumber)
        {
            var client = new BackgroundJobClient();
            //var jobId = client.Enqueue(() => SomeMethod(0));
            var jobId1 = client.Enqueue <DocExtractJob1QiSuZhuang>(x => x.ExecuteJob(null, new DocExtractParamsInput()
            {
                CaseNo = 0
            }));
            var jobId2 = client.Enqueue <DocExtractJob2DaBianZhuang>(x => x.ExecuteJob(null, new DocExtractParamsInput()
            {
                CaseNo = 0
            }));
            var jobId3 = client.Enqueue <DocExtractJob3ZhengJuCaiLiao>(x => x.ExecuteJob(null, new DocExtractParamsInput()
            {
                CaseNo = 0
            }));
            var jobId4 = client.Enqueue <DocExtractJob4GongZuoBiLu>(x => x.ExecuteJob(null, new DocExtractParamsInput()
            {
                CaseNo = 0
            }));

            for (int caseNo = 1; caseNo < caseNumber; caseNo++)
            {
                jobId1 = client.ContinueWith <DocExtractJob1QiSuZhuang>(jobId1, x => x.ExecuteJob(null, new DocExtractParamsInput()
                {
                    CaseNo = caseNo
                }));
                jobId2 = client.ContinueWith <DocExtractJob2DaBianZhuang>(jobId1, x => x.ExecuteJob(null, new DocExtractParamsInput()
                {
                    CaseNo = caseNo
                }));
                jobId3 = client.ContinueWith <DocExtractJob3ZhengJuCaiLiao>(jobId1, x => x.ExecuteJob(null, new DocExtractParamsInput()
                {
                    CaseNo = caseNo
                }));
                jobId4 = client.ContinueWith <DocExtractJob4GongZuoBiLu>(jobId1, x => x.ExecuteJob(null, new DocExtractParamsInput()
                {
                    CaseNo = caseNo
                }));
            }
        }
        public ActionResult Create([Bind(Include = "SourceCode")] CodeSnippet snippet, string email)
        {
            if (!String.IsNullOrEmpty(email))
            {
                // Simplest SPAM prevention trick
                return(RedirectToAction("Index"));
            }

            if (ModelState.IsValid)
            {
                snippet.CreatedAt = DateTime.UtcNow;

                _db.CodeSnippets.Add(snippet);
                _db.SaveChanges();

                var parentId = _jobs.Enqueue <SnippetHighlighter>(x => x.HighlightAsync(snippet.Id));
                _jobs.ContinueWith <SnippetHighlighter>(parentId, x => x.SendToSubscribers(snippet.Id));

                return(RedirectToAction("Index"));
            }

            return(View(snippet));
        }