猿问

如何为多个用户提供持续运行的 python 脚本(社交媒体机器人)

我希望你们都度过了美好的一天。所以我正在使用 Python 进行一个项目。该脚本的工作是通过 http 请求在社交媒体平台上自动执行操作和任务。截至目前,此脚本的一个实例访问一个用户帐户。现在,我想创建一个网站,我可以让用户在其中注册、将他们的凭据输入到社交媒体平台并运行此脚本的实例来执行自动化任务。每次有新用户注册时,我都想过为这个脚本创建一个新进程,但这似乎效率不高。另外虽然关于使用线程,但似乎也不太合理。特别是如果有 10,000 名用户注册。做这个的最好方式是什么?我该如何扩展?非常感谢你们。


慕哥6287543
浏览 173回答 1
1回答

慕妹3242003

您正在运行的任务的性质是什么?任务是在一天中的预定时间运行,还是每 X 分钟运行一次?为此,您可以让您的 Web 应用程序注册 cronjobs 或类似的,并且每个 cronjob 可以产生您的脚本的一个实例,我认为它是短期运行的,以一次一个用户执行自动化任务。如果脚本的确切时间无关紧要,那么您可以在一天中分散运行这些脚本,如果需要,可以在单独的机器上运行。上述方法可能无法很好地扩展到 10,000 个用户,并且您将需要更强大的东西,特别是如果脚本需要连续运行(例如,您正在从 Facebook 轮询一些数据并需要对其更改做出反应)。如果每个用户需要进行大量通信,那么您可以考虑使用生产者-消费者模型,其中一组生产者脚本(连续运行)将工作请求发送到一个全局队列中,由一组消费者脚本轮询并执行。您还可以在多台机器上对此类消费者和生产者进行负载平衡。当然,您肯定希望通过在多个线程或进程上执行这项工作来从机器的额外内核中挤出一些并行性。您可以使用多处理模块在 Python 中轻松完成此操作。
随时随地看视频慕课网APP

相关分类

Python
我要回答