c# quartz.net 一项大工作 sql 连接
c# quartz.net one big job sql connection
我有一份大工作,代码:
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连接超时异常?为了额外的安全,我应该增加连接超时吗?每个方法都需要与数据库交互
在您的情况下,您应该只关心命令超时,它指定单个命令在终止之前可以执行多长时间。在 EF6 中,您可以这样设置:
_db.Database.CommandTimeout = 600;
对于旧版本,您可以查看 this answer。
连接超时仅限制允许建立连接的时间。
我有一份大工作,代码:
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连接超时异常?为了额外的安全,我应该增加连接超时吗?每个方法都需要与数据库交互
在您的情况下,您应该只关心命令超时,它指定单个命令在终止之前可以执行多长时间。在 EF6 中,您可以这样设置:
_db.Database.CommandTimeout = 600;
对于旧版本,您可以查看 this answer。
连接超时仅限制允许建立连接的时间。