MiraiForum

    • Register
    • Login
    • Search
    • Popular
    • Recent
    • Unsolved
    • Tags
    • Groups
    • 友情链接

    如何在RSS源不定期推送的情况下订阅它?

    开发交流
    3
    6
    461
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      novacoo last edited by

      已经尝试过使用Timer、TimerTask、甚至是Quartz任务调度框架,发现所写入的定时任务都没有实际生效。

      考虑到有些特殊订阅源会不定期推送的情况,所以想要造一个可以随意更改时间的定时任务来监听订阅源是否推送更新,以此达到及时推送的目的。

      经过四五天的研究,还是没有实现定时任务,个人猜测需要用到CoroutineScope,但是这个我是看不懂,希望可以得到帮助。

      使用的开发环境是:Java 17,Kotlin 1.6.21,Mirai Console 2.11.1。

      Orisland 1 Reply Last reply Reply Quote 0
      • RainChan
        RainChan 摸鱼 last edited by

        用定时任务框架应该是可以的,你可以把代码贴出来看看是怎么回事

        1 Reply Last reply Reply Quote 0
        • Orisland
          Orisland 摸鱼 @novacoo last edited by Orisland

          @novacoo
          使用定时任务框架是没有问题的。
          我这里使用了轻量级的定时任务框架hutool-cron

          implementation("cn.hutool:hutool-cron:5.8.1")
          

          do something,command变量为cron语句,你可以通过收到变量后修改定时任务。

                      String command = String.format("%s %s * * *", minute, hour);
                      CronUtil.schedule(command, new Task() {
                          @Override
                          public void execute() {
                                  try {
                                     //do something
                                      return;
                                  }catch (Exception e){
                                      e.printStackTrace();
                              }
                          }
                      });
                      CronUtil.start();
          

          小栗子

          1 Reply Last reply Reply Quote 0
          • N
            novacoo last edited by

            好的,蟹蟹,我试试

            1 Reply Last reply Reply Quote 0
            • N
              novacoo last edited by

              不生效的原因找到了,当方法被suspend修饰以及使用

              suspend { statement.... }
              

              时无效

              1 Reply Last reply Reply Quote 0
              • N
                novacoo last edited by

                kt发起HTTP请求似乎一定是suspend才行?……

                1 Reply Last reply Reply Quote 0
                • 1 / 1
                • First post
                  Last post
                Powered by Mamoe Technologies & NodeBB | 友情链接 | 服务监控 | Contact