繁体   English   中英

如何在两个同时运行的 python 脚本之间共享数据?

[英]How to share data between two python scripts both running?

我正在开发一个自动发布脚本,我希望这个脚本每 1 小时发布一次到我的博客(脚本 1),并使用另一个脚本定义发布对象(脚本 2)。 因此,例如,我想使用脚本 2 创建 15 个帖子,但我不想同时发布所有 15 个帖子,我希望脚本 1 每小时检查一次是否有可用的帖子,发布 15 个帖子中的第 1 个。 所以它们是 2 个不同的脚本,都单独运行,但是如何将脚本 2 创建的帖子添加到脚本 1 的队列中? 我想到的一种方法是使用 SQL 数据库,脚本 2 添加创建的帖子作为数据库的最后一项,脚本 1 每小时读取数据库并选择第一项,然后将其从队列中删除。

  Script 1 pick and delete first item ----->  ---- Post 0 ----
                                              ---- Post 1 ----
                                              ---- Post 2 ----
                                              ---- Post 3 ----
  Script 2 add created post as last item -->  ---- Post 4 ----

但是这个解决方案似乎有点难,有没有更简单更稳定的方法呢?

另外,如果脚本重新启动或服务器关闭,我希望它保存和保留数据。

我能想到的最简单的方法是在 DB 中再添加一列,它显示为posted ,默认情况下设置为False 一旦脚本 1 发布它,它就会更新postedTrue的列。

在查询数据库时,您可以编写类似

Select top 1 * 
from post 
where posted = false

您可以使用redis队列并使用pushpop方法。 这比其他数据库好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM