每日推荐通知
This commit is contained in:
parent
85a3107a38
commit
30bf13e112
|
|
@ -79,12 +79,12 @@ public static class HangfireSetup
|
|||
TimeZone = TimeZoneInfo.FindSystemTimeZoneById("China Standard Time")
|
||||
});
|
||||
|
||||
// 配置每日推荐通知任务 - 每天早上8-10点随机时间执行
|
||||
// 使用8:30作为固定时间,实际发送时会有随机延迟
|
||||
// 配置每日推荐通知任务 - 每天早上8:00触发,Job内部随机延迟0~120分钟
|
||||
// 实际发送时间落在8:00~10:00之间
|
||||
RecurringJob.AddOrUpdate<NotificationJob>(
|
||||
"daily-recommend-notification",
|
||||
job => job.SendDailyRecommendNotificationsAsync(),
|
||||
"30 8 * * *",
|
||||
"0 8 * * *",
|
||||
new RecurringJobOptions
|
||||
{
|
||||
TimeZone = TimeZoneInfo.FindSystemTimeZoneById("China Standard Time")
|
||||
|
|
|
|||
|
|
@ -77,10 +77,17 @@ public class NotificationJob
|
|||
|
||||
/// <summary>
|
||||
/// 每日推荐通知任务
|
||||
/// 在早上8-10点随机时间向所有用户发送推荐通知
|
||||
/// 在早上8~10点随机时间向所有用户发送推荐通知
|
||||
/// 任务在8:00由Hangfire触发,先随机延迟0~120分钟,再逐个发送
|
||||
/// </summary>
|
||||
public async Task SendDailyRecommendNotificationsAsync()
|
||||
{
|
||||
// 随机延迟0~120分钟,使实际发送时间落在8:00~10:00之间
|
||||
var random = new Random();
|
||||
var delayMinutes = random.Next(0, 121);
|
||||
_logger.LogInformation("每日推荐通知任务将在 {DelayMinutes} 分钟后开始发送", delayMinutes);
|
||||
await Task.Delay(TimeSpan.FromMinutes(delayMinutes));
|
||||
|
||||
_logger.LogInformation("开始执行每日推荐通知任务...");
|
||||
|
||||
var startTime = DateTime.Now;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user