如何为多个用户提供连续运行的python脚本(社交媒体Bot)

2024-04-27 00:31:37 发布

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

希望你们今天过得愉快。所以我在用Python做一个项目。该脚本的工作是通过http请求在社交媒体平台上自动化操作和任务。现在,这个脚本的一个实例访问一个用户帐户。现在,我想创建一个网站,允许用户注册,在社交媒体平台上输入他们的凭据,并运行此脚本的实例来执行自动化任务。我曾经考虑过在每次有新用户注册时创建这个脚本的新进程,但这似乎并不高效。同样虽然关于使用线程,但也似乎不太合理。尤其是如果有10000个用户注册的话。最好的方法是什么?如何缩放?提前非常感谢你们。你知道吗


Tags: 项目实例方法用户脚本http进程网站
1条回答
网友
1楼 · 发布于 2024-04-27 00:31:37

您正在运行的任务的性质是什么?你知道吗

这些任务只是在一天中的某个预定时间或每X分钟运行一次的作业吗?为此,您可以让您的Web应用程序注册cronjobs或类似的程序,并且每个cronjob都可以生成一个脚本实例,我假设这个脚本是短期运行的,以执行一次一个用户的自动任务。如果脚本的确切时间无关紧要,那么您可以将这些脚本的运行分散在一天中,如果需要,可以在不同的机器上运行。你知道吗

上述方法可能无法很好地扩展到10000个用户,您需要更健壮的脚本,尤其是当脚本需要连续运行时(例如,您正在轮询来自Facebook的一些数据,并且需要对其更改做出反应)。如果每个用户都有大量通信,那么可以考虑使用生产者-消费者模型,其中一组生产者脚本(连续运行)将工作请求发送到一个全局队列中,由一组消费者脚本轮询并执行。您还可以跨多台机器对这样的消费者和生产者进行负载平衡。你知道吗

当然,您肯定希望通过在多个线程或进程上执行这项工作,从机器的额外内核中挤出一些并行性。在Python中使用多处理模块可以很容易地做到这一点。你知道吗

相关问题 更多 >