我正在寻找一个Python的库,它将提供at
和cron
功能相似.
我非常喜欢使用纯Python解决方案,而不是依赖于盒子上安装的工具; 这样我就可以在没有cron的机器上运行.
对于那些不熟悉的人cron
:您可以根据以下表达式安排任务:
0 2 * * 7 /usr/bin/run-backup # run the backups at 0200 on Every Sunday
0 9-17/2 * * 1-5 /usr/bin/purge-temps # run the purge temps command, every 2 hours between 9am and 5pm on Mondays to Fridays.
Run Code Online (Sandbox Code Playgroud)
cron时间表达式语法不那么重要,但我希望能有这种灵活性.
如果没有任何东西可以为我开箱即用,那么任何关于构建模块的建议都会感激不尽.
编辑 我对启动进程不感兴趣,只是用Python编写的"作业" - python函数.必要时我认为这将是一个不同的主题,但不是在一个不同的过程中.
为此,我正在寻找cron时间表达式的表现力,但在Python中.
Cron 已经存在多年了,但我试图尽可能地便携.我不能依赖它的存在.
如何增加日期时间?
for i in range(1, 35)
date = datetime.datetime(2003, 8, i)
print(date)
Run Code Online (Sandbox Code Playgroud)
但我需要正确地经历数月和数年?有任何想法吗?
我必须在网络课程中编写一个类似选择性重复但需要一个计时器的程序.在谷歌搜索后我发现threading.Timer可以帮助我,我写了一个简单的程序只是为了测试如何threading.Timer工作是这样的:
import threading
def hello():
print "hello, world"
t = threading.Timer(10.0, hello)
t.start()
print "Hi"
i=10
i=i+20
print i
Run Code Online (Sandbox Code Playgroud)
这个程序运行正常.但是当我尝试以一种给出参数的方式定义hello函数时:
import threading
def hello(s):
print s
h="hello world"
t = threading.Timer(10.0, hello(h))
t.start()
print "Hi"
i=10
i=i+20
print i
Run Code Online (Sandbox Code Playgroud)
输出是:
hello world
Hi
30
Exception in thread Thread-1:
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/threading.py", line 522, in __bootstrap_inner
self.run()
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/threading.py", line 726, in run
self.function(*self.args, **self.kwargs)
TypeError: 'NoneType' object is not callable
Run Code Online (Sandbox Code Playgroud)
我不明白这是什么问题!谁能帮我?
在我的python程序中,我希望它在每个工作日的预定义时间运行一段代码,比如说周一至周五下午2点.
我该怎么办?
我们有一个使用 Spring boot 编写的微服务,它有自己的 NoSQL 数据存储。我们正在开发一些功能,我们希望删除一些旧数据(50 万份文档),并希望根据数据存储中特定类型记录的存在情况定期(每天一次)执行此操作。
是否有一个每天运行一次并删除的调度程序,这是一种正确的方法吗?此外,由于它是一个微服务并且它的多个实例将运行,我们如何控制此调度程序仅在 1 个实例上运行?