我有一份大工作,代码:
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安全,我应该增加连接超时?每种方法都需要与数据库进行交互
答案 0 :(得分:1)
在您的情况下,您应该只关注命令超时,命令超时指定单个命令在终止之前可以执行多长时间。在EF6中,您可以这样设置:
_db.Database.CommandTimeout = 600;
对于旧版本,您可以查看this answer。
连接超时仅限制建立连接所允许的时间。