def evaluate(self, expression):
'''
order of values
year, month, day, week, day_of_week, hour, minute, second, start_date, end_date, timezone
'''
splitValues = expression.split();
for i in range(0,8):
if (i == 0):
if (splitValues[0] == '?'):
year = None;
else:
year = splitValues[0];
if (i == 1):
if (splitValues[1] == '?'):
month = None;
else:
month = splitValues[1];
if (i == 2):
if (splitValues[2] == '?'):
day = None;
else:
day = splitValues[2];
if (i == 3):
if (splitValues[3] == '?'):
week = None;
else:
week = splitValues[3];
if (i == 4):
if (splitValues[4] == '?'):
day_of_week = None;
else:
day_of_week = splitValues[4];
if (i == 5):
if (splitValues[5] == '?'):
hour = None;
else:
hour = splitValues[5];
if (i == 6):
if (splitValues[6] == '?'):
minute = None;
else:
minute = splitValues[6];
if (i == 7):
if (splitValues[7] == '?'):
second = None;
else:
second = splitValues[7];
return year, month, day, week, day_of_week, hour, minute, second;
正如@Alex提到的。我创建了一个函数来映射要触发的值。在
下面的函数将按顺序返回一个元组 年,月,日,周,周,小时,分钟,秒。期待一些建议。在
我用这个表达式创建了一个createTrigger函数
^{pr2}$考虑到APScheduler支持一组稍微不同的字段,那么这些表达式如何映射到CronTrigger的参数就不那么明显了。在
我还应该指出,调度作业的首选方法不涉及直接实例化触发器,而是提供参数add\ujob()。在
如果您想自己这样做,您可以简单地拆分表达式并将元素映射到您想要的任何触发器参数。在
在raghu Venmarathor代码下做了一些小改动
更新
在版本3.5.0中,添加了以下方法:
^{pr2}$相关问题 更多 >
编程相关推荐