现在我正在每台机器上运行50个PHP(以CLI模式)的单独工作进程,等待接收它们的工作负载(任务)。例如,调整图像大小的工作。在工作负载中,它们会接收到图像(二进制数据)和所需的大小。工作进程完成它的工作并返回调整大小后的图像。然后等待更多的工作(以一种聪明的方式循环)。我假设我加载和实例化了相同的可执行文件、库和类50次。我这样做正确吗?因为这听起来不是很有效。
现在我想要一个处理所有这些工作并能够使用所有可用CPU核心的进程,同时只加载一次所有内容(以提高效率)。我假设为每个工作启动一个新线程,并在其完成后停止该线程。如果有少于50个线程正在工作,则可以接受更多工作。如果所有50个线程都忙碌,将不接受任何其他工作。
我使用了许多库(用于Memcached、Redis、MogileFS等),以便访问系统使用的各种组件,而Python几乎是除了PHP之外唯一支持所有这些库的语言。
Python能否实现我的要求,并且它是否比当前的PHP解决方案更快更高效?
现在我想要一个处理所有这些工作并能够使用所有可用CPU核心的进程,同时只加载一次所有内容(以提高效率)。我假设为每个工作启动一个新线程,并在其完成后停止该线程。如果有少于50个线程正在工作,则可以接受更多工作。如果所有50个线程都忙碌,将不接受任何其他工作。
我使用了许多库(用于Memcached、Redis、MogileFS等),以便访问系统使用的各种组件,而Python几乎是除了PHP之外唯一支持所有这些库的语言。
Python能否实现我的要求,并且它是否比当前的PHP解决方案更快更高效?