я почти прочитал все вопросы о многопроцессорных с витыми, но я хочу знать, как развернуть мое приложение TCP с twisted.application.service, у меня есть этот код, чтобы развернуть свою заводскую службу с помощью:витая служба нескольких процессов
from project.application import GameServerFactory
from twisted.application import internet, service
port = 8000
factory = GameServerFactory()
application = service.Application("Game Server")
service = internet.TCPServer(port, factory)
service.setServiceParent(application)
, но я хочу, чтобы использовать все свои ядра, как это (я скопировал из другого вопроса):
from project.application import GameServerFactory
from os import environ
from sys import argv, executable
from socket import AF_INET
import sys
from twisted.internet import reactor
def main(fd=None):
factory = GameServerFactory()
if fd is None:
# Create a new listening port and several other processes to help out.
port = reactor.listenTCP(8000, factory)
for i in range(7):
reactor.spawnProcess(
None, executable, [executable, __file__, str(port.fileno())],
childFDs={0: 0, 1: 1, 2: 2, port.fileno(): port.fileno()},
env=environ)
#sys.exit()
else:
# Another process created the port, just start listening on it.
port = reactor.adoptStreamPort(fd, AF_INET, factory)
reactor.run()
if __name__ == '__main__':
if len(argv) == 1:
main()
else:
main(int(argv[1]))
как я могу изменить свой первый код, чтобы получить выход, как мой второй пример кода, но в качестве службы и daemonized?