Python 使用systemd启动异步IO脚本不正确
我有基于Python 使用systemd启动异步IO脚本不正确,python,python-asyncio,systemd,Python,Python Asyncio,Systemd,我有基于asyncio的带有ioloop的python脚本,它可以与web一起工作,并且里面有一些爬虫,应该由调度器启动。我在systemd中创建新任务,启动它,但是-当在系统上启动脚本时,仅首先启动coroutine,当我手动重新启动任务时-所有coroutine都启动。 请看下面我的配置。我试图设置type=forking,但在这种情况下,任务由ubuntu重新启动。我应该如何为正确的工作进行配置 [Unit] Description=Stocks After=network.targe
asyncio
的带有ioloop
的python脚本,它可以与web一起工作,并且里面有一些爬虫,应该由调度器启动。我在systemd
中创建新任务,启动它,但是-当在系统上启动脚本时,仅首先启动coroutine
,当我手动重新启动任务时-所有coroutine
都启动。
请看下面我的配置。我试图设置type=forking
,但在这种情况下,任务由ubuntu
重新启动。我应该如何为正确的工作进行配置
[Unit]
Description=Stocks
After=network.target
[Install]
WantedBy=multi-user.target
[Service]
ExecStart=/home/user/Projects/stocks/venv/bin/python /home/user/Projects/project/manage.py runserver
Type=simple
Restart=on_failure
它应该是一样的。请检查程序的日志(stderr输出)(请参阅journalctl)并添加有关程序的更多信息。@Udi什么类型的日志?我的程序是基于aiohttp的web应用程序,所以我启动它时是这样的:loop=asyncio.get\u event\u loop()resource=prepare\u resources(loop,env_type)from url从URL导入URL从任务导入任务httpserver=httpserver(URL,resource)调度器=调度器(tasks,os.path.join(os.path.dirname(os.path.realpath(file))+'/log.txt'))循环。永远运行_()请参阅