C# 如何构建一个每隔几个小时发布一条tweet的Twitter应用程序

C# 如何构建一个每隔几个小时发布一条tweet的Twitter应用程序,c#,twitter,C#,Twitter,我有一个文本文件,其中有一堆推特,我想每四个小时左右发布一次 因此,该应用程序将在AWS/Azure/上运行,在那里它将读取文本文件,读取下一行,并发送推特。每四小时重复一次 我已经有一段时间没有编码了,但我可以重新开始。我只是不知道我需要什么样的架构来开始 我的技术堆栈要做这样的事情应该是什么样子?当然,计时器是第一个想法。如果某件事需要重复,那通常是该做的。但是.NET中至少有六个计时器。使用哪一个真正取决于您的应用程序是什么 在非常短的间隔时间内,一些计时器确实会遇到问题,事件堆积的速度比

我有一个文本文件,其中有一堆推特,我想每四个小时左右发布一次

因此,该应用程序将在AWS/Azure/上运行,在那里它将读取文本文件,读取下一行,并发送推特。每四小时重复一次

我已经有一段时间没有编码了,但我可以重新开始。我只是不知道我需要什么样的架构来开始


我的技术堆栈要做这样的事情应该是什么样子?

当然,计时器是第一个想法。如果某件事需要重复,那通常是该做的。但是.NET中至少有六个计时器。使用哪一个真正取决于您的应用程序是什么

在非常短的间隔时间内,一些计时器确实会遇到问题,事件堆积的速度比处理的速度快。 我编写了一些基本的速率限制代码,打算在专用线程中运行-这可能会给您一个起点:

integer interval = 20;
DateTime dueTime = DateTime.Now.AddMillisconds(interval);

while(true){
  if(DateTime.Now >= dueTime){
    //insert code here

    //Update next dueTime
    dueTime = DateTime.Now.AddMillisconds(interval);
  }
  else{
    //Just yield to not tax out the CPU
    Thread.Sleep(1);
  }
}

有了小时间隔,像WindowsTaskScheduler和运行时间很短的程序之类的东西可能值得研究。但当然,人们不会支持在以后使用非常低的间隔时间。如果只是每隔一段时间运行一次,那么也可能有点难以判断操作是否“顺利运行”或在任何给定时间出现问题。

当然,计时器是第一个想法。如果某件事需要重复,那通常是该做的。但是.NET中至少有六个计时器。使用哪一个真正取决于您的应用程序是什么

在非常短的间隔时间内,一些计时器确实会遇到问题,事件堆积的速度比处理的速度快。 我编写了一些基本的速率限制代码,打算在专用线程中运行-这可能会给您一个起点:

integer interval = 20;
DateTime dueTime = DateTime.Now.AddMillisconds(interval);

while(true){
  if(DateTime.Now >= dueTime){
    //insert code here

    //Update next dueTime
    dueTime = DateTime.Now.AddMillisconds(interval);
  }
  else{
    //Just yield to not tax out the CPU
    Thread.Sleep(1);
  }
}

有了小时间隔,像WindowsTaskScheduler和运行时间很短的程序之类的东西可能值得研究。但当然,人们不会支持在以后使用非常低的间隔时间。如果只是每隔一段时间运行一次的话,也可能有点难以判断操作是否“顺利运行”或在任何给定的时间出现问题。

我不做推特,我意识到推特的大部分都是机器人驱动的。但是,你检查过服务条款了吗。我怀疑这可能违反了我不做推特,我意识到推特的大部分是机器人驱动的。但是,你检查过服务条款了吗。我怀疑这可能违反了他们