我在Lua Jit中开发了一个像Cron这样的Unix,我在算法上遇到了一些问题,也许我不太清楚执行的逻辑顺序或类似的东西,我试图获得一些伪代码来帮助我处理代码。
如果我收到一个get
`'* * * * *'`我会在每小时的每一分钟都在做这项工作,如果我得到一个
'20 2 2 1 5'我需要处理它,并以日期格式或类似的格式进行响应,这不是重要的事情。
我的问题是以正确的方式完成所有过程的逻辑步骤,处理所有可能的情况。我不是在寻找一个具体的代码,只是为了打开我的思想,了解一点它是如何实际翻译的东西。
发布于 2015-03-15 22:36:17
首先,阅读https://en.wikipedia.org/wiki/Cron
您正在寻找类似以下内容的内容:
查找当前日期时间
current_datetime = get_datetime()
-> {year=.., month=.., day=.., weekday=.., hour=.., min=.., sec=..}查找设置
given_string = '20 2 2 1 5 user, command'
cron_config, user, command = parse_cron_config(given_string) -> some object, and cmd然后检查:
-- skip for wrong day
if cron_config:weekday_specified() or cron_config:monthday_specified() then
if cron_config:weekday_specified() and current_datetime.weekday ~= cron_config.weekday then
return -- skip!
elseif ...
end
end
if cron_config:hour_specified() and current_datetime.hour ~= cron_config.hour then
return
end
...
-- finally found that all checks are done and operation should be performed
perform_job(command)https://stackoverflow.com/questions/29043156
复制相似问题