我有一个Celery任务管理器来处理公司分析的一些数字.
任务管理器和工作人员托管在Amazon EC2 Linux服务器上.
我需要设置系统,如果我们向芹菜发送太多任务,亚马逊会自动设置一个新的EC2实例来运行更多的工作人员并平衡这些工作人员的负载.
我所知道的服务是亚马逊自动缩放和亚马逊负载均衡服务,这似乎正是我想要使用的,但我不确定配置Celery的最佳方式是什么.
我认为我应该有一个收集所有任务的芹菜"主人"和一些执行它们的芹菜工人.随着任务数量的增加,我想增加更多的工作人员.自动缩放的工作方式(通过服用芹菜服务器的AMI)我认为我正在克隆Master和工作人员,这似乎不是我想做的事情.
我如何组织这个以实现我的最终目标,即使用Celery管理任务和Amazon Web Service来托管计算的灵活的自动缩放任务管理.
因为大多数教程或建议似乎都假设我目前没有大量的知识,所以在任何答案(或指向教程的链接!)中尽可能多的细节将非常受欢迎!
我试图了解当您声明一个从 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")\nRun Code Online (Sandbox Code Playgroud)\n如果我运行它,就没有错误,并且输出正如我所期望的那样。
\n\xe2\x9d\xaf python inheritance.py \ncomplete\nRun Code Online (Sandbox Code Playgroud)\n这是一个有明显错误的脚本,我继承自 的实例而Foo()不是类Foo
# 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")\nRun Code Online (Sandbox Code Playgroud)\n这段代码运行时不会崩溃,但是我不明白为什么Foo.__init__()被调用两次。
这是输出:
\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)