您的位置:首页 > 其它

apscheduler模板

2021-12-18 16:13 260 查看

定时任务模板的备份 包括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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: