我可以在Django项目中运行一个独立于其他Django应用程序运行的机器人吗

5kgi1eie  于 2023-05-19  发布在  Go
关注(0)|答案(1)|浏览(112)

我有一个网站的Django项目。对于同一个网站,我运行另一个Python机器人来删除一些数据。我想知道我是否可以以某种方式将Python bot附加到Django项目,以便它们可以在同一服务器上运行,而不会对Django项目造成伤害。bot和其他Django应用程序应该彼此独立运行。
有人知道这是如何实现的吗?
谢谢大家。

9avjhtql

9avjhtql1#

使用multiprocessing模块,我得到了一个解决方案。在Django项目的manage.py文件中,最后有一个if语句,它只是调用同一文件中定义的main函数。
我使用multiprocessing.Process类创建了两个进程。一个用于main函数,另一个用于我想附加到项目中的bot。然后我启动了这些进程,机器人和Django项目的其他应用程序一样运行。
代码如下:

import multiprocessing

# A function to start the bot

def start_bot():
    ...

if __name__ == '__main__':
    bot_process = multiprocessing.Process(name='bot_process', target=start_bot)
    main_process = multiprocessing.Process(name='main_process', target=main)
    bot_process.start()
    main_process.start()

这只是解决问题的一种方法。如果您有更好的解决方案,请添加答案。

相关问题