Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用systemd启动异步IO脚本不正确_Python_Python Asyncio_Systemd - Fatal编程技术网

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'))循环。永远运行_()请参阅