我需要在 Main()
方法中调用 Run()
吗?因此它将每天在代码中提到的时间被调用。
public class Program
{
private static readonly log4net.ILog Log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
static void Main()
{
var host = new JobHost();
// The following code ensures that the WebJob will be running continuously
host.RunAndBlock();
}
// This method will be called on weekly basis
public static void Run([TimerTrigger(typeof(MyDailySchedule))] TimerInfo timerInfo, TextWriter log)
{
log4net.Config.XmlConfigurator.Configure();
try
{
MainA.Wait();
}
catch (Exception ex)
{
}
}
static async Task MainA()
{
WebJob1 Service = new WebJob1();
await Service.DeletData();
}
}
public class MyDailySchedule : DailySchedule
{
public MyDailySchedule() :
//Schedule
base("2:00:00", "14:00:00", "15:00:00")
{ }
}
最佳答案
您不需要使用 WebJobs SDK 来实现此目的。相反:
- 编写一个简单的控制台应用,在启动时直接执行您需要的操作(即不使用任何 JobHost)。
- 使用 cron 表达式将其部署为计划的 WebJob(有关详细信息,请参阅 doc)。
关于c# - 如何使用 Azure WebJob 中的计时器每天在特定时间调用方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48224857/