python - 如何在正在运行的 Python 进程中刷新当前日期?
问题描述
我supervisord
用来保持使用 Python 开发的 Telegram 机器人在服务器上运行,并且我正在使用 datetime 库来获取当前日期并执行取决于当前日期的操作。
from datetime import date
today = date.today()
问题:我注意到,当进程运行时,Python 总是返回相同的日期;所以,我的机器人不会每天返回不同的输出,而是一样的。
为了解决这个问题,我必须进入服务器,停止主管,终止进程,然后手动执行 python 脚本以使用当前日期运行机器人。
我想过使用 crontabsupervisorctl restart all
每天运行一次,但是当我运行该命令时,Python 进程并没有停止,即使我终止了进程并运行该命令,输出仍然返回昨天的日期,我需要手动运行python3 myfile.py
以刷新它。有一种方法可以在不终止进程的情况下实现 Python date.today(),还是可以终止并重新启动 Python 进程以刷新当前日期?
当前代码:
def get_today_meditation(update, context):
chat_id = update.message.chat_id
today = date.today()
print(today)
[ ... ]
def main():
key_api = os.environ.get('PYTHON_API_BREVIARIO_KEY')
locale.setlocale(locale.LC_ALL, "pt_BR.UTF-8")
updater = Updater(key_api, use_context=True)
dispatcher = updater.dispatcher
dispatcher.add_handler(CommandHandler('meditacaodehoje', get_today_meditation))
updater.start_polling()
updater.idle()
解决方案
推荐阅读
- mysql - 如何使用 Flask SQLAlchemy 中第 4 个表中的键查询 4 个表?
- python-3.7 - 有没有办法在 django 的模板中查看媒体文件?
- javascript - 在 Javascript 中的函数中测试导出函数
- reactjs - 反应路由器完全匹配仅更新 URL 而无需重新渲染 DOM
- python - np.mean() 的值错误?
- azure - 如何在慢速 Internet 连接上发布 Azure Web App?
- angular - 如何使用 Angular 7 前端和 Laravel 后端在 Firebase 上存储图像?
- sql-server - SQL Server 将硬编码日期确定为更大的日期?
- yocto - polkit-0.113-r0 do_configure:功能失败:do_configure
- javascript - 在数据表中使用表单时,Ajax 调用返回空模型?