【问题标题】:Quartz Scheduling to delete filesQuartz 调度删除文件
【发布时间】:2019-04-17 21:30:56
【问题描述】:

我正在使用带有参数石英调度程序的文件组件,以便每小时从给定目录中提取一些文件。然后我转换文件中的数据并将内容移动到其他目录中的其他文件。之后,我将输入文件移动到存档目录。当一个文件被移动到这个目录时,它应该只在那里停留一周,然后它应该被自动删除。问题是我不太确定如何开始新的 cron 作业,因为我真的不知道何时将任何文件移动到该存档目录。也许真的是微不足道的事情,但我对骆驼很陌生,我不知道解决方案。提前谢谢你。

【问题讨论】:

    标签: cron apache-camel quartz-scheduler


    【解决方案1】:

    使用选项“filterFile”

    每个文件都有修改的时间戳,您可以使用此时间戳过滤超过 1 周的文件。在file component下,有一个选项filterFile

    filterFile=${date:file:yyyyMMdd}<${date:now-7d:yyyyMMdd}
    

    上面的求值来自file language${date:file:yyyyMMdd}表示格式(年)(月)(日)中文件的修改时间戳,${date:now-7d:yyyyMMdd}表示格式(年)(月)中的当前时间减去7天(天)。

    【讨论】:

    • 嗨@hk6279。谢谢你的回答!我很确定这是正确的方法,但不幸的是我得到了一个 RuntimeException:due to: expected symbol whiteSpace but was functionStart at location 22 ${date:file:yyyyMMdd}&lt;${date:now-7d:yyyyMMdd} * 星号符号低于第二个 $ 符号
    • @Angel 也许你可以试试${date:file:yyyyMMdd} &lt; ${date:now-7d:yyyyMMdd}
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多