小编Dav*_*ean的帖子

使用Amazon EC2的Autoscale Python Celery

我有一个Celery任务管理器来处理公司分析的一些数字.

任务管理器和工作人员托管在Amazon EC2 Linux服务器上.

我需要设置系统,如果我们向芹菜发送太多任务,亚马逊会自动设置一个新的EC2实例来运行更多的工作人员并平衡这些工作人员的负载.

我所知道的服务是亚马逊自动缩放和亚马逊负载均衡服务,这似乎正是我想要使用的,但我不确定配置Celery的最佳方式是什么.

我认为我应该有一个收集所有任务的芹菜"主人"和一些执行它们的芹菜工人.随着任务数量的增加,我想增加更多的工作人员.自动缩放的工作方式(通过服用芹菜服务器的AMI)我认为我正在克隆Master和工作人员,这似乎不是我想做的事情.

我如何组织这个以实现我的最终目标,即使用Celery管理任务和Amazon Web Service来托管计算的灵活的自动缩放任务管理.

因为大多数教程或建议似乎都假设我目前没有大量的知识,所以在任何答案(或指向教程的链接!)中尽可能多的细节将非常受欢迎!

python taskmanager amazon-ec2 amazon-web-services celery

8
推荐指数
1
解决办法
3017
查看次数

为什么定义新类有时会调用该类继承的对象的 __init__() 函数?

我试图了解当您声明一个从 python 中的父类继承的新类时实际发生的情况。

\n

这是一个非常简单的代码片段:

\n
# inheritance.py\nclass Foo():\n    def __init__(self, *args, **kwargs):\n        print("Inside foo.__init__")\n        print(args)\n        print(kwargs)\n\n\nclass Bar(Foo):\n    pass\n\nprint("complete")\n
Run Code Online (Sandbox Code Playgroud)\n

如果我运行它,就没有错误,并且输出正如我所期望的那样。

\n
\xe2\x9d\xaf python inheritance.py                                                                                                                                                                               \ncomplete\n
Run Code Online (Sandbox Code Playgroud)\n

这是一个有明显错误的脚本,我继承自 的实例而Foo()不是类Foo

\n
# inheritance.py\nclass Foo():\n    def __init__(self, *args, **kwargs):\n        print("Inside foo.__init__")\n        print(f"{args=}")\n        print(f"{kwargs=}\\n")\n\nfoo = Foo()\nclass Bar(foo):            <---- This is wrong\n    pass\n\nprint("complete")\n
Run Code Online (Sandbox Code Playgroud)\n

这段代码运行时不会崩溃,但是我不明白为什么Foo.__init__()被调用两次。

\n

这是输出:

\n
\xe2\x9d\xaf python inheritance.py\nInside foo.__init__        <--- this one I expected\nargs=()\nkwargs={}\n\nInside foo.__init__       <--- What is going on here...?\nargs=('Bar', (<__main__.Foo object at …
Run Code Online (Sandbox Code Playgroud)

python inheritance metaclass python-3.x

4
推荐指数
1
解决办法
76
查看次数