• apscheduler模板


    定时任务模板的备份
    包括docker模板

    #!/usr/bin/env python
    """
    创建apscheduler任务模板
    blog: https://www.cnblogs.com/lczmx/
    """
    scheduler_temp = '''from apscheduler.triggers.cron import CronTrigger
    from apscheduler.schedulers.blocking import BlockingScheduler
    
    from {project_name} import main
    
    
    def start_scheduler(main_function):
        """
        开始监听任务
        :param main_function: 主入口函数
        :return: 
        """
        scheduler = BlockingScheduler()
        scheduler.add_job(main_function, CronTrigger.from_crontab("1 0 * * *", timezone="Asia/Shanghai"))
        scheduler.start()
    
    
    if __name__ == "__main__":
        # !!!!!! 替换 import 的 main
        start_scheduler(main)
    
    '''
    docker_compose_temp = """version: "3"
    
    services:
      acgbuster:
        build: . # 使用myproject目录下的Dockerfile
        volumes:
          - .:/var/www/html/{project_name} # 挂载项目代码
        working_dir: /var/www/html/{project_name}
        environment:
          - DEBUG=False
        restart: always
        tty: true
        stdin_open: true
    
    """
    docker_file_temp = """# myproject/Dockerfile
    # 建立 python3.7 环境
    FROM python:3.9
    
    # 镜像作者
    MAINTAINER lczmx
    
    # 设置 python 环境变量
    ENV PYTHONUNBUFFERED 1
    
    COPY pip.conf /root/.pip/pip.conf
    
    # 创建 myproject 文件夹
    RUN mkdir -p /var/www/html/{project_name}
    
    # 将 myproject 文件夹为工作目录
    WORKDIR /var/www/html/{project_name}
    
    # 将当前目录加入到工作目录中(. 表示当前目录)
    ADD . /var/www/html/{project_name}
    
    # 更新pip版本
    RUN /usr/local/bin/python -m pip install --upgrade pip
    
    # 利用 pip 安装依赖
    RUN pip install -r requirements.txt
    
    ENTRYPOINT ["python", "scheduler.py"]
    
    """
    pip_conf_temp = """[global]
    index-url = https://pypi.tuna.tsinghua.edu.cn/simple
    [install]
    trusted-host = https://pypi.tuna.tsinghua.edu.cn
    """
    
    requirements_temp = """请执行:
    pip freeze > requirements.txt
    命令行中:
    import pip
    pip.main("freeze")
    """
    project_temp = """# 请输入主要代码逻辑
    
    def main():
        pass
    
    """
    
    
    def write_to_file(file_name, text, name):
        with open(file_name, mode="w", encoding="utf-8") as f:
            f.write(text.format(project_name=name))
        print(f"已经创建: {file_name}")
    
    
    if __name__ == "__main__":
        import os
    
        project_name = input("请输入项目名:\n>>>").strip()
        if not os.path.isdir(project_name):
            os.mkdir(project_name)
        # 修改主目录
        os.chdir(project_name)
        write_to_file("scheduler.py", scheduler_temp, project_name)
        write_to_file("docker-compose.yaml", docker_compose_temp, project_name)
        write_to_file("Dockerfile", docker_file_temp, project_name)
        write_to_file("pip.conf", pip_conf_temp, project_name)
        write_to_file("requirements.txt", requirements_temp, project_name)
        write_to_file(f"{project_name}.py", project_temp, project_name)
    
    

    本文来自博客园,作者:403·Forbidden,转载请注明原文链接:https://www.cnblogs.com/lczmx/p/15705332.html

  • 相关阅读:
    人工智能与信息社会——人工智能发展简史
    人工智能与信息社会——新闻热点与身边的人工智能
    蓝桥杯——入门训练
    Android Studio安装虚拟机步骤
    Android开发环境搭建教程
    Android系统架构(图解)
    第6.7节 stack 1982 问题 B: Problem E
    Matlab高级教程_第二篇:MATLAB和C#对应数据类型的讲解(多讲一点儿C#的矩阵运算)
    Matlab高级教程_第二篇:一个简单的混编例子
    Matlab高级教程_第二篇:Matlab2016a和VS2013混合
  • 原文地址:https://www.cnblogs.com/lczmx/p/15705332.html
Copyright © 2020-2023  润新知