我在 python 中编写了一个守护程序脚本,它从队列中获取字典并根据这些字典中的信息处理文件。现在我想从一个单独的 Django 脚本在该队列中插入一些额外的字典。是否可以将队列作为文件公开给其他软件?如果没有,还有其他解决方案吗?
我的项目在 debian linux 上运行。
我在 python 中编写了一个守护程序脚本,它从队列中获取字典并根据这些字典中的信息处理文件。现在我想从一个单独的 Django 脚本在该队列中插入一些额外的字典。是否可以将队列作为文件公开给其他软件?如果没有,还有其他解决方案吗?
我的项目在 debian linux 上运行。
如果你从 django 脚本启动守护进程,那么你只需要从 django 脚本使用对象的方法(或直接访问它的队列)。
如果守护进程已经启动,那么您需要进程间通信。套接字或管道是一些选项。定期检查文件的内容是另一种解决方案,但反应不快。
当涉及到相当琐碎的通信设置时,我不是 ipc 的忠实粉丝。构建基于网络的客户端服务器模型也会增加很多开销。因为很可能这两个进程将在同一台机器上运行。
您可以创建一个基于文件的队列,要么腌制它,要么使用某种序列化格式。您单独的 django 脚本的客户端将填充该文件。您的 deamin 将监视该文件,并将反序列化或 depickled 队列对象附加到 deamon 的队列对象。
如果您正在运行 gnu/linux 操作系统,则使用pynotify来查看文件。