首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >调度函数在特定时间启动时未发生任何情况

调度函数在特定时间启动时未发生任何情况
EN

Stack Overflow用户
提问于 2021-08-11 03:30:43
回答 1查看 30关注 0票数 0

我有一个类,可以在while循环中启动一个线程。我试图安排线程类在特定的时间内启动,但它不起作用:

代码语言:javascript
运行
AI代码解释
复制
def test():
    if __name__ == "__main__":
        main()

schedule.every().day.at("17:25:50").do(test)

即使时间达到"17:25:50“,该函数也不会执行任何操作。

我的完整代码:

代码语言:javascript
运行
AI代码解释
复制
import discord
import random
import time
import asyncio

import schedule
from facebook_scraper import get_posts, _scraper, exceptions
from discord.ext import commands, tasks
import threading
import time
import re
class LEDManager(threading.Thread):
    def __init__(self, id_manager):
        threading.Thread.__init__(self)
        self.id_manager = int(id_manager)

    def run(self):
        while True:
            try:
                wanted = "Pecahan setiap negeri (Kumulatif):"  # wanted post
                for post in get_posts("myhealthkkm", pages=5):
                    if post.get("post_text") is not None and wanted in post.get("post_text"):
                        # print("Found", t)
                        listposts.append(post.get("post_text"))
                        # append until 3 page finish then go here

                time.sleep(1)
                print(listposts)
                global listView
                if listposts != 0:
                    listView = listposts.copy()
                    print(listView)
                listposts.clear()
            except exceptions.TemporarilyBanned:
                print("Temporarily banned, sleeping for 10m")
                time.sleep(600)


def main():
    thread_id = ("0")
    led_index = 0
    thread_list = list()
    for objs in thread_id:
        thread = LEDManager(led_index)
        thread_list.append(thread)
        led_index += 1
    for thread in thread_list:
        thread.start()
        time.sleep(1)

def test():
    if __name__ == "__main__":
        main()

schedule.every().day.at("17:25:50").do(test)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-11 03:36:32

您忘记添加以下行:

代码语言:javascript
运行
AI代码解释
复制
while True:
    schedule.run_pending()
    time.sleep(1)

您应该将它们添加到文件的末尾,这样系统将永远检查“作业”是否需要完成(如果时间是"17:25:50")。

下面是查看如何使用schedule模块的完整文档:https://schedule.readthedocs.io/en/stable/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68741146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档