可以用crontab来部署自动化任务,具体请自己查查资料
python xxxpy (若未配置环境变量,需跟上python的绝对路径,如/usr/bin/python xxxfile)
windows类服务器的话:
可以用windows自带的管理工具中的任务计划程序,来部署自动化执行
将命令写入到一bat文件即可 同样是python xxxxpy(若未配置环境变量,需跟上python的绝对路径,如C:/python27/python xxxfile)
两种部署,都可以根据自己的需要设置周期,如每天什么时候,每周什么时候等等如果你只想运行一次,那么不用循环几乎是不可能的。当然你用crontab之类的定时任务来处理也可以。我猜想你登陆之后应该是要做一些 *** 作的,那么在做任何 *** 作之前你都去判断一下登陆状态,如果session过期或者其他原因导致登陆状态失效,那么就执行重登陆。
把脚本丢在后台执行,结果输出到log,应该没什么问题的。
你可以使用 pythoncom 库,它包含ActivePython 或者可以安装pywin32 (Python for Windows extensions)
下面是一个简单 *** 作服务的例子:
import pythoncomimport win32serviceutil
import win32service
import win32event
import servicemanager
import socket
class AppServerSvc (win32serviceutilServiceFramework):
_svc_name_ = "TestService"
_svc_display_name_ = "Test Service"
def __init__(self,args):
win32serviceutilServiceFramework__init__(self,args)
selfhWaitStop = win32eventCreateEvent(None,0,0,None)
socketsetdefaulttimeout(60)
def SvcStop(self):
selfReportServiceStatus(win32serviceSERVICE_STOP_PENDING)
win32eventSetEvent(selfhWaitStop)
def SvcDoRun(self):
servicemanagerLogMsg(servicemanagerEVENTLOG_INFORMATION_TYPE,
servicemanagerPYS_SERVICE_STARTED,
(self_svc_name_,''))
selfmain()
def main(self):
pass
if __name__ == '__main__':
win32serviceutilHandleCommandLine(AppServerSvc)
你的代码需要放在mian()方法里面,通常会有一些情况通过检查你在 SvcStop 方法中设置的标志,然后中断循环
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)