mirror of
https://github.com/oopuuu/zTC1.git
synced 2025-12-14 14:08:19 +08:00
添加下一周的定时任务
This commit is contained in:
@@ -11,6 +11,7 @@
|
||||
|
||||
pTimedTask task_top = NULL;
|
||||
int task_count = 0;
|
||||
int day_sec = 86400;
|
||||
|
||||
bool AddTaskSingle(pTimedTask task)
|
||||
{
|
||||
@@ -48,7 +49,6 @@ bool AddTaskSingle(pTimedTask task)
|
||||
|
||||
bool AddTaskWeek(pTimedTask task)
|
||||
{
|
||||
int day_sec = 86400;
|
||||
time_t now = time(NULL);
|
||||
int today_weekday = (now / day_sec + 3) % 7 + 1; //1970-01-01 星期五
|
||||
int next_day = task->weekday - today_weekday;
|
||||
@@ -71,8 +71,16 @@ bool DelFirstTask()
|
||||
{
|
||||
pTimedTask tmp = task_top;
|
||||
task_top = task_top->next;
|
||||
free(tmp);
|
||||
task_count--;
|
||||
if (tmp->weekday == 0)
|
||||
{
|
||||
free(tmp);
|
||||
}
|
||||
else
|
||||
{
|
||||
tmp->prs_time += 7 * day_sec;
|
||||
AddTask(tmp);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@@ -114,24 +122,12 @@ bool DelTask(int time)
|
||||
return false;
|
||||
}
|
||||
|
||||
void ProcessSingle()
|
||||
{
|
||||
UserRelaySet(task_top->socket_idx, task_top->on);
|
||||
DelFirstTask();
|
||||
}
|
||||
|
||||
void ProcessWeek()
|
||||
{
|
||||
//TODO 添加下一周的定时任务
|
||||
ProcessSingle();
|
||||
}
|
||||
|
||||
void ProcessTask()
|
||||
{
|
||||
task_log("process task time[%ld] socket_idx[%d] on[%d]",
|
||||
task_top->prs_time, task_top->socket_idx, task_top->on);
|
||||
if (task_top->weekday == 0) ProcessSingle();
|
||||
else ProcessWeek();
|
||||
UserRelaySet(task_top->socket_idx, task_top->on);
|
||||
DelFirstTask();
|
||||
}
|
||||
|
||||
char* GetTaskStr()
|
||||
|
||||
Reference in New Issue
Block a user