当你不得不做某事时。。。以后再说。

doitlater的Python项目详细描述


DoItLater公司

一个简单的python库,用于安排将来的工作,并具有无限循环的能力。不依赖任何第三方库。在


安装

可以使用以下方法之一简单地安装软件包:

  • pippip install doitlater
  • poetrypoetry add doitlater
  • poetrypoetry add git+https://github.com/evalkaz/doitlater.git

使用

最简单的例子:

fromdatetimeimportdatetime,timedeltafromdoitlaterimportLaterlater=Later()@later.on(datetime(2021,1,1))defsay_hello():print("Happy new years in 2021!")if__name__=="__main__":later.do()

要在30秒冷启动的情况下每隔10秒调用一次相同的函数:

^{pr2}$

later.on()是可堆叠的,因此这也可以工作(每5天和每7天执行一次):

@later.on(datetime(2021,1,1),timedelta(days=5))@later.on(datetime(2021,1,1),timedelta(weeks=1))defsay_hello():print("Happy new years in 2021!")

您还可以在执行函数时传递datetimetimedelta(或混合列表):

@later.on(datetime(2021,1,1),[datetime(2021,2,1),datetime(2021,3,1),timedelta(days=31)],loop=False)defsay_hello():print("Happy new years in 2021!")

如果要停止执行同一个函数,只需返回False

@later.on(datetime(2021,1,1),timedelta(seconds=5),loop=True)defonly_one_hello():print("This will appear only once!")returnFalse

如果您有多个函数,其中一个函数抛出异常,但您不想停止工作,请将ignore_errors=True传递给Later()对象:

later=Later(ignore_errors=True)

默认情况下,库将输出错误日志。要更改日志记录,请使用^{}

fromdatetimeimportdatetime,timedeltafromdoitlaterimportLaterfromlogging.configimportdictConfigdictConfig({"version":1,"formatters":{"default":{"format":"[%(asctime)s] %(levelname)s in %(module)s: %(message)s",}},"handlers":{"default":{"class":"logging.StreamHandler","formatter":"default",}},"root":{"level":"INFO","handlers":["default"]},})later=Later()@later.on(datetime(2021,1,1))defsay_hello():print("Happy new years in 2021!")if__name__=="__main__":later.do()

美国石油学会

Later(workers, ignore_errors)采用以下参数:

  • workers-要使用的线程数,默认为CPU支持的最大线程数。在
  • ignore_errors-False将在其中一个函数抛出错误时退出,True-忽略异常并继续工作。在

later.on(exactly, repeat, loop)函数采用以下参数:

  • exactly-在哪个时间执行第一个函数调用。在
  • repeat-在重复调用时,datetimetimedelta的一个值或一个列表,或者两者都有。如果传递了None,则不会再次调用函数。默认为None。在
  • ^{cd26>是否重复。默认为True。在

later.do()不接受任何参数。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java与Groovy正则表达式匹配混淆   java控制台未定义为JSNI   主目录中的java指针异常   java如何获取hashmap中的arrayList的大小   ApachePOI用于文本,Java代码中的word doc(.docx)中没有进行追加   Ruby对象到Java对象   JavaSpringJPA哈希集只返回一个值   Java在执行由配置了精确类路径参数的mavenjarpluin生成的可执行jar时无法找到依赖项   java我试图在画布上写一个文本,但什么也没发生   java HTTP 404源服务器找不到目标资源的当前表示形式,或者不愿意透露存在该表示形式。不起作用   java提取小数点后的最后一个数字   oop Java:无法访问对象的元素   PHP URL中RecyclerView中的java句柄空异常   不调用OnCreateViewHolder的java Update RecyclerView适配器项