【问题标题】:Scheduling to run a macro on every hour计划每小时运行一个宏
【发布时间】:2013-03-03 03:36:40
【问题描述】:

是否可以在 Umbraco 或 .ascx 文件中安排一个宏每小时运行一次?

谢谢

【问题讨论】:

    标签: c# macros umbraco


    【解决方案1】:

    在 Umbraco 中有两种运行计划任务的方法:

    1. 将任务添加到umbracoSettings.config。请参阅 Umbraco Wiki 中的 Scheduled Tasks
    2. 使用TaskScheduler 包。

    TaskScheduler 提供了一个很好的界面来在 Umbraco 后端设置任务。您可以安排任务在特定时间运行,并且可以设置重复周期。它还可以在执行任务时发送电子邮件。

    umbracoSettings.config 添加任务可能更简单。下面是一个例子:

    <scheduledTasks>
        <!-- add tasks that should be called with an interval (seconds) -->
        <task log="true" alias="test60" interval="60" url="http://localhost/umbraco/test.aspx"/>
    </scheduledTasks>
    

    【讨论】:

    • +1 好答案,我添加了一个关于如何将调度程序挂钩到宏(而不是页面)的附加提示。
    • 我可以定义一个没有特定主机名的 URL 吗?例如:“/umbraco/test.aspx”或“~/umbraco/test.aspx”?
    • @riofly,不,不幸的是,我认为 url 必须是绝对的,而不是相对的。
    【解决方案2】:

    如果您想从代码中运行宏、ascx(或 cshtml),您可以使用 macroservice 包。安装后,您可以直接从代码运行宏,使用 Web 服务、WCF、来自 javascript 的 setInterval/setTimeout 等。可以很好地配合@DouglasLudlow 的 (+1) 设置计划任务的建议。

    Umbraco 宏服务将标准 Umbraco 宏直接暴露给 用于脚本或提供对数据的直接数据访问 已经熟悉的宏。

    类似于 Umbraco 基地(并大量借用),宏 服务可以更轻松地访问您的 umbraco 数据,以便在您的 javascript 和其他应用程序。

    查看项目页面 http://our.umbraco.org/projects/backoffice-extensions/macroservice 为 更多细节。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多