从Linux上的web服务器在Windows上运行任务的最佳方法

2024-10-01 07:18:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个用Python编写的任务,运行时间为1-2分钟,我想按需运行。这些请求来自Linux上的Django服务器,数量非常小。报税表应该是一份文件

通常,我会使用像芹菜这样的排队系统。但是,此任务只能在Windows上运行

最好的办法是什么

通过建立SSH会话远程执行任务? 仍然使用芹菜,通过许多变通办法让它在窗户上工作(看起来很凌乱)


Tags: 文件django服务器数量远程linuxwindows系统
1条回答
网友
1楼 · 发布于 2024-10-01 07:18:47

我可以想出5种不需要ssh的解决方案

在我的解决方案中,我没有提到身份验证—您应该基于选定的解决方案实现某些功能

解决方案1:

  • 为windows服务器编写一个简单的flask/django应用程序,运行任务并返回响应
  • 在linux服务器中,向windows发送请求并获取数据
  • linux服务器可以用芹菜来打这个电话,这样你就不用等2/3分钟了

解决方案2:

  • 为windows服务器编写一个简单的flask/django应用程序,在后台调用芹菜任务
    • 此应用程序应返回结果文件的url
  • 芹菜任务创建一个包含结果的文件
  • 使用nginx(或者基于windows的静态文件服务器,我不知道windows)提供这个文件
  • 从linux服务器向windows发送请求以获取结果(如果文件不存在,则表示结果尚未就绪)

解决方案3:

  • 为windows服务器编写一个简单的flask/django应用程序,在后台调用芹菜任务
    • 此应用程序返回给定请求的随机id
  • 从linux服务器向任务id为的windows应用程序发送请求
  • 任务完成后,windows应用程序返回结果

解决方案4:

  • 为windows服务器编写一个简单的flask/django应用程序,在后台调用芹菜任务
  • 将端点添加到linux django应用程序以上载数据
  • 当windows应用程序完成处理后,它会将数据上传到linux django应用程序

解决方案5:

  • 解决方案4,但您的linux django应用程序不用于上载数据。它只设置一个布尔值,表示任务已完成
  • 如果任务已完成,linux服务器将向winsows服务器发送请求以获取数据(此请求包含任务id)

相关问题 更多 >