c#quartz.net一个大工作sql连接

时间:2015-11-13 09:05:01

标签: c# quartz-scheduler

我有一份大工作,代码:

 public class TbcMailSender : IJob
    {
        public void Execute(IJobExecutionContext context)
        {

            using(EFDbContext _db = new EFDbContext()){
                _db.JobTests.Add(new JobTest
                {
                    Name = "trigger",
                    JobDate = DateTime.Now
                });
                _db.SaveChanges();

               var parserHelper = ParserHelper.GetParserHelper(_db);          
                try
                {
                    parserHelper.Bfm();
                }
                catch (Exception)
                {

                }
                try
                {
                    parserHelper.Bpn();
                }
                catch (Exception)
                {

                }

                try
                {
                    parserHelper.Commersant();
                }
                catch (Exception)
                {

                }
                try
                {
                    parserHelper.Ghn();
                }
                catch (Exception)
                {

                }
                try
                {
                    parserHelper.Ipn();
                }
                catch (Exception)
                {

                }
                try
                {
                    parserHelper.PirveliRadio();
                }
                catch (Exception)
                {

                }
                try
                {
                    parserHelper.Forbes();
                }
                catch (Exception)
                {

                }
                try
                {
                    parserHelper.Marketer();
                }
                catch (Exception)
                {

                }                

            }

        }
    }

每种方法大约需要2-3分钟(Bfm,Bpn ......营销人员)。将来我会添加更多方法,是否可能发生sql连接超时异常?对于exta安全,我应该增加连接超时?每种方法都需要与数据库进行交互

1 个答案:

答案 0 :(得分:1)

在您的情况下,您应该只关注命令超时,命令超时指定单个命令在终止之前可以执行多长时间。在EF6中,您可以这样设置:

_db.Database.CommandTimeout = 600;

对于旧版本,您可以查看this answer

连接超时仅限制建立连接所允许的时间。