我有一份大工作,密码:
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安全性,应该增加连接超时吗?每种方法都需要与数据库进行交互。
发布于 2015-11-13 09:23:46
在您的情况下,您应该只关注命令超时,它指定一个单独的命令在终止之前可以执行多长时间。在EF6中,您可以这样设置它:
_db.Database.CommandTimeout = 600;对于旧版本,您可以检查this answer。
连接超时只限制建立连接的时间。
https://stackoverflow.com/questions/33689092
复制相似问题