windows配置python项目本地定时执行(一)

背景

之前写的一个基金数据爬取的脚本需要部署在windows系统,需要一个启动、关闭脚本

通用bat代码实现:

@echo offTITLE "启动bat"
rem 需要处理的程序名
SET process_name="Snipaste.exe"
rem 存放进程id的文件用来判断进程是否已经启动
SET pid_file=pid.txtrem 如果进程已经启动
if exist %pid_file% (
TASKLIST /FO CSV /NH /FI "imagename eq %process_name% " > %pid_file%ECHO 'kill %process_name%'
FOR /F "delims=, tokens=2,3" %%a IN (%pid_file%) do (
SET /A pid=%%aTASKKILL /F /PID %pid%
)
DEL %pid_file%
) else (
rem 进程没有启动则启动程序
ECHO 'start and save %process_name% pid'
%activate_venv%CD %projectPath%%CMD_OPTION%TASKLIST /FO CSV /NH /FI "imagename eq %process_name% " > %pid_file%
)

bat启动python项目实现:

rem @echo offrem 激活python虚拟环境
SET "activate_venv=conda activate D:\work\envpy"
rem 项目根目录
SET "projectPath=CD D:\FundDataAnalysis"
rem 启动脚本命令
SET "CMD_OPTION=python main.py"rem 监控的进程名称
SET process_name="python.exe"
SET pid_file=pid.txtif exist %pid_file% (
TASKLIST /FO CSV /NH /FI "imagename eq %process_name% " > %pid_file%ECHO 'kill %process_name%'
FOR /F "delims=, tokens=2,3" %%a IN (%pid_file%) do (
echo %p_no%
TASKKILL /F /PID %%a
)
DEL %pid_file%
) else (
ECHO 'start and save %process_name% pid'%activate_venv%
echo %activate_venv%echo %projectPath%
%projectPath%echo %CMD_OPTION%
rem %CMD_OPTION%
REM  start  /B /MIN  %CMD_OPTION%
TITLE "My Batch Script"
START  ""  %CMD_OPTION%
rem %CMD_OPTION%TASKLIST /FO CSV /NH /FI  "imagename eq %process_name%" > %pid_file%
)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/47707.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

部署和运维

目录 1.Git1.1. Git指令中merge和rebase的区别1. Commit 记录2. 合并方式3. 冲突处理4. 使用场景选择建议 1.2. cherry-pick的使用如何使用 git cherry-pick例子处理冲突撤销 cherry-pick其他选项 结论 2. 部署1. Nginx的使用场景 编译打包1. webpack2. webpack打包优化1. 代码…

vscode通过ssh链接远程服务器上的docker

目录 1 编译docker image1.1 编译镜像1.2 启动镜像 2 在docker container中启动ssh服务2.1 确认是否安装ssh server2.2 修改配置文件2.3 启动ssh服务 3 生成ssh key4 添加ssh公钥到docker container中5 vscode安装插件Remote - SSH6 在vscode中配置 1 编译docker image 一般来…

二叉树的前、中、后序遍历(递归法、迭代法)leetcode144/94/145

leetcode144、二叉树的前序遍历 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 输入:root [1,null,2,3] 输出:[1,2,3] 示例 2: 输入:root [] 输出:[] 示例 3:…

【golang-ent】go-zero框架 整合 ent orm框架 | 解决left join未关联报错的问题

一、场景 1、子表:cp_member_point_history cp_member_point_history表中字段:cp_point_reward_id 是cp_point_reward的主键id 当本表中的cp_point_reward_id字段为0(即:没有可关联主表的) CREATE TABLE cp_member_poi…

数据结构(Java):优先级队列(堆)堆的模拟实现

目录 1、优先级队列 1.1 概念 1.2 PriorityQueue底层结构 2、 堆 2.1 堆的概念 2.2 堆的存储结构 3、优先级队列(堆)的模拟实现 3.1 堆的创建 3.1.1 向下调整算法建完整堆 3.2 堆的插入 3.2.1 向上调整算法 3.3 堆的删除 3.4 堆排序 1、优先…

CH552的bootload程序IAP直接对ROM-flash修改数据(未尝试)

手动写bootload程序的可能 1,根据ch552g的使用手册内容查看到 2,在下面的参考文件的IAP文件夹中看到IAP文件 参考 下面程序中并没有跳转到厂家bootload的过程,这是直接通过控制有关的寄存器对FLSH进行直接写入和修改,这样可以认…

如何学习Hadoop:糙快猛的大数据之路(利用GPT 学习)

目录 引言Hadoop是什么?学习Hadoop的"糙快猛"之道1. 不要追求完美,先动手再说2. 从简单的MapReduce开始3. 利用大模型加速学习4. 循序渐进,建立知识体系 构建您的Hadoop技能树1. 夯实基础:Linux和Java2. 深入理解HDFS3.…

Codeforces Round 959 sponsored by NEAR (Div. 1 + Div. 2) 20240718

A. Diverse Game 题目 彼得看着谢尔盖的流,想出了一个矩阵 a a a ,由 n n n 行和 m m m 列组成( i i i 第一行和 j j j 第列中的数字表示为 a i , j a_{i, j} ai,j​ ),它包含了从 1 1 1 到 n ⋅ m n \cdot m n⋅m 的所有整数。但是…

GreenDao实现原理

GreenDao 是一款针对 Android 平台优化的轻量级对象关系映射 (ORM) 框架,它将 Java 对象映射到 SQLite 数据库,以简化数据持久化操作。GreenDao 的主要优点包括高性能、低内存占用、易于使用以及对数据库加密的支持。 以下是基于源码的 GreenDao 实现原…

AI 应用还没有大量出现,缺什么?缺聊天机器人编程语言 | Chatopera

只有帮助人发挥创意的才是大市场 现在是需要大量的 AI 应用了。如何产生大量的 AI 应用呢?当年乔布斯说,他看到了个人电脑的两个趋势,一个是图形化用户界面,一个是面向对象编程语言。今天,AI 应用也是新的【图形用户界…

【QT】label中添加QImage图片并旋转(水平翻转、垂直翻转、顺时针旋转、逆时针旋转)

目录 0.简介 1.详细代码及解释 1)原label显示在界面上 2)水平翻转 3)垂直翻转 4)顺时针旋转45度 5)逆时针旋转 0.简介 环境:windows11 QtCreator 背景:demo,父类为QWidget&a…

Cisco 路由重发布 —— 实现路由信息在不同路由选择域间的传递

一、技术背景 在实际的组网中,可能会遇到这样一个场景:在一个网络中同时存在两种或者两种以上的路由协议。例如客户的网络原先是纯 Cisco 的设备,使用 EIGRP 协议将网络的路由打通。但是后来网络扩容,增加了一批华为的设备&#…

应用层——HTTP

像我们电脑和手机使用的应用软件就是在应用层写的,当我们的数据需要传输的时候换将数据传递到传输层。 应用层专门给用户提供应用功能,比如HTTP,FTP… 我们程序员写的一个个解决我们实际的问题都在应用层,我们今天来聊一聊HTTP。 协议 协议…

【接口自动化_12课_基于Flask搭建MockServer】

知识非核心点,面试题较少。框架搭建的过程中的细节才是面试要点 第三方接口,不方便进行测试, 自己要一个接口去进行模拟。去作为我们项目访问模拟接口。自己写一个接口,需要怎样写 一、flask:轻量级的web应用的框架 安装命令 …

旧系统的会员信息如何导入新系统?

千呼新零售2.0系统是零售行业连锁店一体化收银系统,包括线下收银线上商城连锁店管理ERP管理商品管理供应商管理会员营销等功能为一体,线上线下数据全部打通。 适用于商超、便利店、水果、生鲜、母婴、服装、零食、百货、宠物等连锁店使用。 详细介绍请…

ES6 中的 generator 函数究竟是什么

ES6 中的 generator 函数究竟是什么 我们在学习 js 的时候应该都知道一个概念:一旦函数开始执行,它将运行直至完成,没有其他的代码可以在运行期间干扰它。 但是在 ES6 中引入了一种新型的函数,它不按照“运行至完成”的规则。这…

数据库相关概念

MySQL 启动停止 MySQL安装完成之后,在系统启动时,会自动启动MySQL服务,无需手动启动。 手动的通过指令启动停止,以管理员身份运行cmd,进入命令行执行如下指令: net start mysql80 net stop mysql80 注意 …

JMeter使用小功能-(持续更新)

1、jmeter在同一个线程组内,uuid的复用 方式一: 方式二: 2、获得jMeter使用的线程总数 ctx.getThreadGroup().getNumberOfThreads()来表示活动线程总数 int threadNumctx.getThreadGroup().getNumThreads(); String threads Integer…

机械学习—零基础学习日志(高数05——函数概念与特性)

零基础为了学人工智能,真的开始复习高数 本小节讲解隐函数,有点神奇,我竟然完全没有隐函数记忆了。 隐函数 隐函数,我个人通俗理解就是,在复杂的环境里,发现纯净天地。例如,在外太空的某个大陆…

工信部信通院首份全景图 | 天空卫士产品26个版块多覆盖

近日,2024全球数字经济大会——数字安全生态建设专题论坛在北京成功举办,论坛由全球数字经济大会组委会主办,中国信息通信研究院和公安部第三研究所共同承办。论坛上,中国信息通信研究院隆重推出了业界首期《数字安全护航技术能力…