首页 > 解决方案 > 桌面中长时间运行的后台作业

问题描述

我有一个Web应用程序,用户需要经常打印pdf文件,pdf文件由django服务器生成并发送到客户端(浏览器),客户端使用windows机器。


现在我想做静默打印,想在没有用户确认的情况下打印 pdf 文件。


我的计划是创建一个桌面应用程序/python 脚本(所有客户端都将安装它),它监听“下载”文件夹并将 pdf 文件(从我的网络应用程序生成)发送到打印机,然后将文件移动到另一个文件夹。我开始将它作为一个 kivy 应用程序来实现。主要部分是它是一个长时间运行的作业,它在下载文件夹中查找文件并在找到文件时执行打印命令。

桌面应用程序有两个部分。

  1. 用于配置下载文件夹、打印机等的 GUI
  2. 将 pdf 文件发送到打印机的长时间运行的侦听器

我是 Windows/桌面应用程序的新手

  1. 如何在 Windows 的桌面应用程序中运行长时间运行的 python 作业。
  2. celery beat / apscheduler 应该解决这个问题吗
  3. 即使 GUI 应用程序关闭,我如何才能继续运行侦听器作业。

目前我的计划是从 GUI 启动一个 windows 服务(或一个单独的 python 脚本作为 windows 服务),并在用户更改任何配置时重新启动它(更改下载文件夹、打印机),这是可行的,正确的方法吗?
是否可以不使用 Windows 服务并使用 celery/apscheduler?

如果它是一个不错的选择,甚至准备放弃桌面应用程序计划并做一个浏览器扩展(我以前从未做过,它是否可以通过扩展来实现)。请帮助我做出决定,任何帮助表示赞赏。

标签: pythonwindowsprintingwindows-serviceskivy

解决方案


推荐阅读