计划每13天触发一次Azure管道

时间:2020-01-06 09:30:02

标签: cron yaml azure-pipelines

我想编写一个计划的触发器,以每13天触发一次Azure中的管道。我似乎找不到使用普通cron作业语法的答案,并且我已经看到您可以将其与正则表达式结合使用。开始日期无关紧要。我想到了这样的事情:

schedules:
- cron: "0 1 * * * $((((($(date +%s) / 86400) % 13))==0))"
displayName: Every 13 days execution

但是我收到语法错误。如何在Azure中向Cron计划的Triger添加正则表达式?

如果您回显正则表达式:echo $((((($(date +%s) / 86400) % 13))==0))的结果,则可以看到它按预期工作,现在它将与yaml文件中的cron作业一起使用。

显然,0 0 */13 * *之类的东西不起作用,因为它将在每月的13号和26号以及从一个月的26号到下一个的13号超过13天。

编辑: 0 */312 * * *可以工作吗?根据{{​​3}}的说法,它似乎是这样。我只是不确定是否是24小时制,因此从未真正运行过?因为,好吧,每312小时一次,一天中就不会有312小时,但是如果不这样解释就可以了吗? 看到一个人在https://crontab.guru/#0_/312___上写了类似的内容,得到了15票赞成票。

第二次编辑:/ 312不起作用。频率不能高于23,这是有道理的。不要相信您在Stack上阅读的所有内容:-)

1 个答案:

答案 0 :(得分:0)

import json import xmltodict from collections import OrderedDict rest_file = json.loads(rest.read()) doc = xmltodict.parse(xml.read()) input_dict = OrderedDict(doc) xml_file = json.loads(json.dumps(input_dict)) soap_dict_list = [] a = xml['FCDB_RES_ENV']['FCDB_BODY']['CUSTACCOUNT'] for i in a.__getitem__('ACCOUNT'): xml_dict = {key: a[key] for key in a if key in ['ACCNO', 'ACCOUNTTITLE', 'ACCOUNTTYPEDETAIL', 'ACCPRDDESC']} print(soap_dict) soap_dict_list.append(soap_dict) print(soap_dict_list) print("--------------------") rest_dict_list = [] for item in rest.get('OutData'): b = (item.get('Accounts')['AccountList']) json_file_account = b.pop() rest_dict = {key: json_file_account[key] for key in json_file_account if key in ['ACC#', 'TITLE', 'STYPE', 'STPDESC']} print(rest_dict) rest_dict_list.append(rest_dict) print(rest_dict_list) # Now iterate over list for info1 in rest_dict_list: for info2 in soap_dict_list: if info1['ACC#'] == info2['ACCNO']: print("Account number Match found") if info1['TITLE'] == info2['ACCOUNTTITLE']: print("ACCOUNTTITLE and TITLE matched") # and so on you can match rest of values

但是我收到语法错误。

此语法错误应由以下原因引起:包括6个条目,其中仅需要5个条目,或者您的schedules: - cron: "0 1 * * * $((((($(date +%s) / 86400) % 13))==0))" displayName: Every 13 days execution中缺少branches参数。

/ 312不起作用。

我尝试了这一点,并且工作正常,没有任何错误:

schedules

“不起作用”是什么意思,您是否遇到任何错误消息?如果是这样,请分享您遇到的错误。