Page tree
Skip to end of metadata
Go to start of metadata

 描述

   定义一个在服务器端定时执行的方法。

 参数说明

   ScheduleApi可以接受两个参数,分别是开始时间和每次执行的时间间隔。如果没有指定开始时间表示服务器启动时立即开始。

   例如,ScheduleApi("01:10:05", "7")中“01:10:05”代表开始时间,单位为“时:分:秒”,“7”为时间间隔,单位为日。

   ScheduleApi("0:0:10")即没有执行的时间间隔,表示从网站启动时刻开始,每隔10秒执行一次。

 示例代码

using System.Collections.Generic;
using GrapeCity.Forguncy.ServerApi;
namespace TestServerCustomApi
{
    public class MyApi : ForguncyApi
    {
        // 表示从网站启动时刻开始,每隔10秒执行以下函数,通常在函数中会有判断,如库存小于阈值时发通知给管理员
        [ScheduleApi("0:0:10")]
        public void TestGetApi()
        {
            if (IsStorageIsToLow())
            {
                SendEmailToAdmin();
            }
        }

        //每日零点执行以下函数,通常用于:每日归档、备份或者发送统计报表等
        [ScheduleApi("0:0:0", "1")]
        public void TestGetApi()
        {
        }

        // 每隔7日执行一次
        [ScheduleApi("0:0:0", "7")]
        public void TestGetApi()
        {
        }

        // 如果希望每个月的1号做特定的事情,不能使用[ScheduleApi("0:0:0", "30")],因为每个月的天数是不一样的。可以使用如下写法
        [ScheduleApi("0:0:0", "1")]
        public void TestGetApi()
        {
            if (DateTime.Now.Day == 1)
            {
                // 执行一些操作
            }
        }
    }
}
说明
在ScheduleApi里可以使用DataAccess属性,不能使用Context属性。

   完整示例可参见SendEmail方法

  • No labels