首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Cron Logic (Lua)

Cron Logic (Lua)
EN

Stack Overflow用户
提问于 2015-03-14 06:41:24
回答 1查看 1K关注 0票数 0

我在Lua Jit中开发了一个像Cron这样的Unix,我在算法上遇到了一些问题,也许我不太清楚执行的逻辑顺序或类似的东西,我试图获得一些伪代码来帮助我处理代码。

如果我收到一个get

代码语言:javascript
运行
复制
`'* * * * *'`

我会在每小时的每一分钟都在做这项工作,如果我得到一个

代码语言:javascript
运行
复制
'20 2 2 1 5'

我需要处理它,并以日期格式或类似的格式进行响应,这不是重要的事情。

我的问题是以正确的方式完成所有过程的逻辑步骤,处理所有可能的情况。我不是在寻找一个具体的代码,只是为了打开我的思想,了解一点它是如何实际翻译的东西。

EN

回答 1

Stack Overflow用户

发布于 2015-03-15 22:36:17

首先,阅读https://en.wikipedia.org/wiki/Cron

您正在寻找类似以下内容的内容:

查找当前日期时间

代码语言:javascript
运行
复制
current_datetime = get_datetime()
-> {year=.., month=.., day=.., weekday=.., hour=.., min=.., sec=..}

查找设置

代码语言:javascript
运行
复制
given_string = '20 2 2 1 5 user, command'
cron_config, user, command = parse_cron_config(given_string) -> some object, and cmd

然后检查:

代码语言:javascript
运行
复制
-- 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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29043156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档