【问题标题】:How to autorun Python files every 5 hours (use Redis Queue)如何每 5 小时自动运行 Python 文件(使用 Redis 队列)
【发布时间】:2019-07-27 07:45:11
【问题描述】:

我有一个代码:

import requests
from bs4 import BeautifulSoup
import json
from datetime import datetime
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

def loaddata():

    # Execute link
    url = "https://genvita.vn/thu-thach/7-ngay-detox-da-dep-dang-thon-nguoi- 
          khoe-qua-soc-len-den-8-trieu-dong"
    driver_path = ()
    global browser
    browser = webdriver.Chrome(executable_path=driver_path)
    browser.get(url)

    read_mores = browser.find_elements_by_link_text('XEM THÊM')
    while len(read_mores) >= 1:
        for read_more in read_mores:
            browser.execute_script("arguments[0].scrollIntoView();", read_more)
            browser.execute_script("$(arguments[0]).click();", read_more)
        read_mores = browser.find_elements_by_link_text('XEM THÊM')

    read_mores2 = browser.find_elements_by_css_selector("div[class='load- 
                  more-replies']")

    for read_mores2 in read_mores2:
        morecomment = read_mores2.find_element_by_tag_name('a')
        browser.execute_script("$(arguments[0]).click();", morecomment)

我自动向下滚动并自动点击带有文本的按钮网站:'XEM THÊM'。

我想每 5 小时自动运行一次此文件,我的文件将运行,当我关闭计算机时,它会停止。

我可以用 Redis Queue 做到这一点吗?我不想处理:计划任务或 Crontab。

【问题讨论】:

    标签: python python-3.x redis


    【解决方案1】:

    我可以用 Redis Queue 做到这一点吗?

    没有。要使用 redis 中的任务,您的脚本必须始终在运行(在这种情况下,您不妨简单地睡 5 个小时,没有 redis)。另外,有些东西必须任务放入redis中。

    【讨论】:

    • 对不起,你能再解释一下吗?我搜索谷歌,我看到一个帖子:timber.io/blog/background-tasks-in-python-using-task-queues。我不能设置时间来自动运行我的 Python 文件,对吧?
    • @ToanNguyenPhuoc:那篇文章谈到了“工人”。一个worker必须在运行,否则它无法从redis获取新任务。
    • “我不能设置时间来自动运行我的 Python 文件,对吧?” - 这正是 crontab 的用途。
    • 还有,你知道有多少种方法可以做到这一点(除了 Schedules Task 和 Crontab)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 2020-03-25
    • 2016-01-20
    • 1970-01-01
    • 2012-12-15
    • 1970-01-01
    • 2014-08-26
    相关资源
    最近更新 更多