Files
Yi.Admin/Yi.Abp.Net8/src/Yi.Abp.Web/Jobs/ai-stock/GenerateNewsJob.cs

34 lines
976 B
C#
Raw Normal View History

2025-03-08 22:14:26 +08:00
using System;
using System.Threading;
using System.Threading.Tasks;
using Volo.Abp.BackgroundWorkers.Hangfire;
using Yi.Framework.Stock.Domain.Managers;
namespace Yi.Abp.Web.Jobs.ai_stock
{
public class GenerateNewsJob : HangfireBackgroundWorkerBase
{
private NewsManager _newsManager;
2025-03-08 22:14:26 +08:00
public GenerateNewsJob(NewsManager newsManager)
{
_newsManager = newsManager;
2025-03-08 22:14:26 +08:00
RecurringJobId = "AI股票新闻生成";
//每个小时整点执行一次
CronExpression = "0 0 * * * ?";
}
public override async Task DoWorkAsync(CancellationToken cancellationToken = new CancellationToken())
{
// 每次触发只有2/24的概率执行生成新闻
var random = new Random();
var probability = random.Next(0, 24);
2025-03-08 22:14:26 +08:00
if (probability < 2)
{
await _newsManager.GenerateNewsAsync();
2025-03-08 22:14:26 +08:00
}
}
}
}