繁体   English   中英

Python脚本已完成,但Windows Task Scheduler显示正在运行

[英]Python script completes, but Windows Task Scheduler shows running

我写了一个小脚本来清除“传输”中停止的种子。 该脚本会写一个日志,在传输中起作用,然后退出。 脚本如下:

#Module Imports#
import transmissionrpc
import os
import logging
import sys
import datetime

#Set variables before main() function
logdir = 'D:\\scripts\\logs'
myDate = datetime.datetime.now().strftime("%y-%m-%d")
myTime = datetime.datetime.now().strftime("%H:%M")
myDateTime = datetime.datetime.now().strftime("%y-%m-%d %H:%M")

if not os.path.exists(logdir):
    os.makedirs(logdir)

logger = logging.getLogger('transmissionrpc')
logdate = datetime.datetime.now().strftime("%y-%m-%d %H%M")
logfile = logdir + "\\CTS-" + logdate + '.log'
hdlr = logging.FileHandler(logfile)
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
hdlr.setFormatter(formatter)
logger.addHandler(hdlr)
logger.setLevel(logging.INFO)
logger.info("Begin Transmission clean")

tc = transmissionrpc.Client('localhost', port = 9091, user = 'USER', password = 'PASS')
for t in tc.get_torrents():
    if t.status == 'stopped':
        tc.remove_torrent(t.id, delete_data = True)
        print ('Removing Torrent %s - %s' % (t.id, t.name))
        logger.info('Removing Torrent %s - %s' % (t.id, t.name))

logger.info("No more stopped torrents. Exiting")
sys.exit()

在任务计划程序中以pythonw D:\\Path\\to\\script.py运行脚本

如何获得任务计划程序以正确显示脚本已结束?

将这些行添加到您的代码中:

import os
print(os.getpid())

将它打印的数字与任务计划程序中的进程ID进行比较。 如果没有找到匹配项,则您的脚本必须在另一个进程中运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM