python - 桌面中长时间运行的后台作业
问题描述
我有一个Web应用程序,用户需要经常打印pdf文件,pdf文件由django服务器生成并发送到客户端(浏览器),客户端使用windows机器。
现在我想做静默打印,想在没有用户确认的情况下打印 pdf 文件。
我的计划是创建一个桌面应用程序/python 脚本(所有客户端都将安装它),它监听“下载”文件夹并将 pdf 文件(从我的网络应用程序生成)发送到打印机,然后将文件移动到另一个文件夹。我开始将它作为一个 kivy 应用程序来实现。主要部分是它是一个长时间运行的作业,它在下载文件夹中查找文件并在找到文件时执行打印命令。
桌面应用程序有两个部分。
- 用于配置下载文件夹、打印机等的 GUI
- 将 pdf 文件发送到打印机的长时间运行的侦听器
我是 Windows/桌面应用程序的新手
- 如何在 Windows 的桌面应用程序中运行长时间运行的 python 作业。
- celery beat / apscheduler 应该解决这个问题吗
- 即使 GUI 应用程序关闭,我如何才能继续运行侦听器作业。
目前我的计划是从 GUI 启动一个 windows 服务(或一个单独的 python 脚本作为 windows 服务),并在用户更改任何配置时重新启动它(更改下载文件夹、打印机),这是可行的,正确的方法吗?
是否可以不使用 Windows 服务并使用 celery/apscheduler?
如果它是一个不错的选择,甚至准备放弃桌面应用程序计划并做一个浏览器扩展(我以前从未做过,它是否可以通过扩展来实现)。请帮助我做出决定,任何帮助表示赞赏。
解决方案
推荐阅读
- java - Joda-Time new DateTime() vs DateTime.now()
- android-studio - 未找到 Gradle 模块依赖项
- c# - 控制事件未在 WPF 窗口上触发
- ios - 自定义 URLProtocol 不能与 AVPlayer 一起使用
- mysql - mysql限制不能针对1个id工作多个记录
- angularjs - Angular Mat-Table 的性能问题
- azure - VSTS,如何始终进入工件目录?
- python - Gunicorn 仅在发送某些请求时启动工作者
- sql-server - SQL server 中的 Web 服务(替代解决方案)
- java - Spring自定义方法注释不起作用