找回密码
 立即注册
查看: 2666|回复: 1

[技术文章] 泡点每分钟增加1商城币并实时更新商城点数,13职业端测试可用,其他未测试

[复制链接]

2

主题

75

回帖

883

积分

高级会员

积分
883
金钱
742
贡献
64
注册时间
2024-9-13
发表于 2025-1-18 17:03:06 | 显示全部楼层 |阅读模式
购买主题 本主题需向作者支付 10 贡献 才能浏览

2

主题

75

回帖

883

积分

高级会员

积分
883
金钱
742
贡献
64
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------
6 w; l3 f) S' q  |9 P# LUSE msdb;
  P. `& U4 D) d5 ^GO
0 o6 S! }/ G/ z% O
  w( N0 f$ D8 i" L- d# R-- 如果作业已存在,则先删除它
+ D" @( w# g- i" zIF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')+ i$ o; L( s) @" z. j- y% n7 y
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';/ e& c& s6 y) F
GO
! _: g8 p0 v! o% b: j6 I7 L( U+ l, [1 O) O
-- 创建新的作业; }% B, {3 d( k
EXEC sp_add_job
' `  w/ W' |6 C0 V! I) l8 ]8 z* p    @job_name = N'IncreaseUserCashJob',               -- 作业名称
7 s) ]) T4 s/ w0 E+ a    @enabled = 1,                                    -- 启用作业
5 H: j2 n1 k; ^; _7 Q1 u    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改
0 \" H. {& E; u. G( [" y/ c% @    @notify_level_email = 0,                         -- 不发送电子邮件通知
/ F0 v) U$ S! w# x3 I% @    @notify_level_netsend = 0,                       -- 不发送网络消息通知
' O% W( h0 L$ z, T8 B* X    @notify_level_page = 0,                          -- 不发送寻呼通知4 B) s: V3 N) g
    @delete_level = 0,                               -- 不自动删除作业
3 F8 ^6 A1 i1 ^' H& I    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述$ ]% I# v- l" `3 k
    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
7 K8 S: u! W# t9 q0 ?    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)1 N4 @/ h$ y# t- D
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员* n$ U7 C) u5 T) ^& H8 X
GO
  h/ y" r0 b; o1 D" T4 x' W* ~: k. D
-- 为作业添加一个步骤
2 ?; j1 P1 I" i. ?  LEXEC sp_add_jobstep
9 d6 W/ |+ m5 Q! H. E# t    @job_name = N'IncreaseUserCashJob',              -- 作业名称+ S1 W1 [0 \8 E( c2 G8 m9 i4 m
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
0 K7 n+ z) K4 k  o& i0 L3 {; n: H    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
& y* j+ K0 d, \- q2 N& n    @database_name = N'account',                     -- 指定数据库名称
7 N2 G+ g  a: R) A% _* S    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
' ]  T$ ^/ X% f4 r4 ^; D9 ^  q    @retry_attempts = 5,                             -- 重试次数& L2 d- j6 ^* C5 Y! N( |- v- U
    @retry_interval = 5;                             -- 重试间隔(分钟)$ t0 }* }! `# n
GO8 D  _8 _, E* L  ?' o

, w: ]  ?6 i/ ^  J( t-- 为作业添加一个每分钟执行一次的调度
. U7 N, v' A! k5 r$ @( ^* b- x2 GEXEC sp_add_schedule
' {3 d$ I! k8 z: e* z* n) w1 m    @schedule_name = N'MinuteSchedule',             -- 调度名称
* B6 [( S+ f3 Z/ O' _    @freq_type = 4,                                  -- 频率类型(4表示每日): C# o" }4 y- h& L
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行
. G8 I+ `4 e" M" [    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)% }! |8 b. F* \  a/ E5 f, O9 [" c
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)
; l& g/ Q" `1 G    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD). a% C. M: D1 F6 X! k0 m
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)5 [  c' L2 L0 ~7 {7 Y
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
/ \3 B% X7 J& |; Y# V. K) U    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
- }* z# P! @8 `9 T" ]8 f! M+ sGO5 W4 t* o9 n  ^2 c
" N$ r" H8 n9 E, |
-- 将作业与调度关联起来
3 H, k! ]- r- m' W# ]EXEC sp_attach_schedule
5 g7 u9 v# g- l6 E    @job_name = N'IncreaseUserCashJob',              -- 作业名称
( {% D6 P" P$ q6 `    @schedule_name = N'MinuteSchedule';             -- 调度名称/ k2 F4 j- B  B& A
GO# r9 h/ l9 X& M4 Z' p; g7 ~

8 W' i6 M& e: \9 [' U( J1 ]-- 提交作业创建到SQL Server Agent! j/ g" x( P' q* V- h
EXEC sp_add_jobserver
9 Z1 e2 P0 b, F7 U% q# f8 h) C  n    @job_name = N'IncreaseUserCashJob',              -- 作业名称
* S! C9 ~7 X7 f    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')' h/ U* I6 s% Z+ B) C
GO
2 k- Y! Q. c* L& U/ H- i' P' l7 X$ _! w- P7 e0 ^2 l- |
+ w* H9 N+ Y6 |# i
8 N' q1 \# N$ l- f5 ]5 |+ L5 x8 A! G
9 \! f, F; j: Q

  d+ g$ X: K8 B
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-5-28 05:07 , Processed in 0.033834 second(s), 31 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表