相关疑难解决方法(0)

如何在Windows中将Python脚本作为服务运行?

我正在描绘一组程序的架构,这些程序共享存储在数据库中的各种相互关联的对象.我希望其中一个程序充当服务,为这些对象的操作提供更高级别的接口,以及通过该服务访问对象的其他程序.

我目前的目标是将Python和Django框架作为实现该服务的技术.我很确定我想知道如何在Linux中守护Python程序.但是,它是系统应支持Windows的可选规范项.我对Windows编程没什么经验,也没有Windows服务的经验.

是否可以将Python程序作为Windows服务运行(即在没有用户登录的情况下自动运行)?我不一定要实现这一部分,但我需要大致了解如何做以决定是否按照这些方式进行设计.

编辑:感谢目前为止的所有答案,它们非常全面.我想知道一件事:Windows如何了解我的服务?我可以使用本机Windows实用程序进行管理吗? 在/etc/init.d中放置一个启动/停止脚本相当于什么?

python windows cross-platform

245
推荐指数
9
解决办法
22万
查看次数

Python Flask作为Windows服务

我正在尝试让一个Flask应用程序在Windows中作为服务运行。我已经尝试按照此处此处的建议实施解决方案,但没有成功。

我有一个只有两个文件的简单文件夹:

Project
 |
 +-- myapp.py   
 +-- win32_service.py
Run Code Online (Sandbox Code Playgroud)

myapp.py内部是一个简单的Flask应用程序:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'
Run Code Online (Sandbox Code Playgroud)

和服务框架win32_service.py

import win32serviceutil
import win32service
import win32event
import win32evtlogutil
import servicemanager
import socket
import time
import logging
import os
import sys

sys.path.append(os.path.dirname(__name__))

from myapp import app

logging.basicConfig(
    filename = r'c:\tmp\flask-service.log',
    level = logging.DEBUG, 
    format = '[flaskapp] %(levelname)-7.7s %(message)s'
)

class HelloFlaskSvc (win32serviceutil.ServiceFramework):
    _svc_name_ = "FlaskApp"
    _svc_display_name_ …
Run Code Online (Sandbox Code Playgroud)

python pywin32 pyinstaller flask python-3.x

15
推荐指数
2
解决办法
1796
查看次数