直接贴代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Timers;
using Qyn.Studio.Extend;
using Cms.Entity.Common;
using Cms.Logic.Common;
using System.IO;
using System.Threading;
namespace CmsCs
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(string.Format("服务已启动....更新频率:{0} 分钟;更新文章:{1} 篇;",SystemConfigs.ConfigInfo.Interval,SystemConfigs.ConfigInfo.DataSize));
while (true)
{
Thread.Sleep(SystemConfigs.ConfigInfo.Interval * 1000 * 60); //多长时间执行一次
TimedEvent();
}
}
//执行操作
private static void TimedEvent()
{
//按时间间隔发布产品
var IDs = TopicLogic.Data.Where(t => t.IsPublish == false && t.AuditType == TopicInfo.EumAuditType.Success).Asc(t => t.CreateAt).Selector(t => t.ID).ToList(SystemConfigs.ConfigInfo.DataSize).Select(t => t.ID.GetValueOrDefault()).ToList();
foreach (var item in IDs)
{
TopicLogic.Data.Where(t => t.ID == item).Update(new TopicInfo() { IsPublish = true });
}
Console.WriteLine(string.Format("{0}:发布文章共{1}篇 :{2}", DateTime.Now.ToLongString(), IDs.Count, IDs.ToString(",")));
SaveLog(IDs);
}
//日志记录
private static void SaveLog(List<int> IDs)
{
var path = @"F:\\CmsCsLog\\";
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
var txtlog = @"F:\\CmsCsLog\\" + DateTime.Now.ToShortString() + "_Log.txt";
StreamWriter generateTxt = new StreamWriter(txtlog, true);
generateTxt.WriteLine(string.Format("{0}:发布文章共{1}篇 :{2}", DateTime.Now.ToString("HH:mm"), IDs.Count, IDs.ToString(",")));
generateTxt.Close();
generateTxt.Dispose();
}
}
}
仅留下来做记录,供以后查看
如有问题,请留言···