我正在电报中对python机器人进行编程,但有一个未解决的错误,该错误在计划中
Traceback (most recent call last):
File "C:\Users\vini6\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\apscheduler\schedulers\base.py", line 979, in _process_jobs
executor.submit_job(job, run_times)
File "C:\Users\vini6\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\apscheduler\executors\base.py", line 71, in submit_job
self._do_submit_job(job, run_times)
File "C:\Users\vini6\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\apscheduler\executors\pool.py", line 28, in _do_submit_job
f = self._pool.submit(run_job, job, job._jobstore_alias, run_times, self._logger.name)
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2544.0_x64__qbz5n2kfra8p0\lib\concurrent\futures\thread.py", line 169, in submit
raise RuntimeError('cannot schedule new futures after '
RuntimeError: cannot schedule new futures after interpreter shutdown
5条答案
按热度按时间ee7vknir1#
如果您使用的是python-telegram-bot,则可能会在
updater.start_polling()
之后丢失一个updater.idle()
调用我报告了一个bug here,并得到了这个解决方案的回复,它为我修复了它。我得到了非常相同的错误信息,虽然它是一个不同的包在这里。所以把这个留给来这里的人,在搜索了上面的错误信息后。
rkue9o1l2#
这是python 3.9.9的bug或者什么的。我也遇到过这个问题。但是它在python 3.7和python 3.8上运行良好。不确定是否有其他python3.9.x可以运行
2022年2月11日更新,从python3.9到python3.10存在此问题
epggiuax3#
如果代码结尾没有阻塞循环,您可能会遇到这个问题。例如,在www.example.com中main.py:
相反你可以做一些类似的事情
当然,您可以在主类中使用“while not self._signal_stop:“来代替“while True
6bc51xsx4#
在关闭调度程序时遇到了同样的问题,
.shutdown(wait=False)
工作正常。drnojrws5#
嗯,我已经面临了同样的问题,作为2022年6月28日和降落在这里,而搜索。经过一些试验和错误,我已经找到了一些工作,周围的工作,为我截至目前。
溶液1(技巧)
我们需要的是停止程序退出。所以在结尾处添加一些暂停对我来说很有效。这里的例子是使用 * BackgroundScheduler *,但任何非阻塞调度程序都将使用相同的方法。
溶液2
使用 * 阻塞调度程序 * 而不是 * 后台调度程序 *