找回密码
 立即注册
查看: 2848|回复: 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作业计划每分钟运行一次-----------------------
: t- s  R( [" d! V" g7 w. Y9 R8 eUSE msdb;
3 i! L: C, i. e$ h; n5 o5 M. ~GO
1 e) V9 j, s0 v+ A: t8 F  S4 J6 u) v
-- 如果作业已存在,则先删除它  T% \9 }& b$ `& x2 |! M) v4 g
IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')
0 Z2 i' t. D2 D) ?: a$ l    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';9 g( v9 E5 s! \9 k1 A) t
GO
& Y, {, W* f9 t* W; z* K( y) n0 Q9 [
-- 创建新的作业$ u: d8 i! A2 S& c+ z) L
EXEC sp_add_job
1 ^; T* M, A; C! A    @job_name = N'IncreaseUserCashJob',               -- 作业名称
* x* d* U' w/ k8 U' K% i8 k    @enabled = 1,                                    -- 启用作业: h! z- x3 \! N. y7 m% \( P
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改
6 f6 {) A4 k& x& V8 U5 y    @notify_level_email = 0,                         -- 不发送电子邮件通知
7 a0 ?) O& R) n9 d( q2 H    @notify_level_netsend = 0,                       -- 不发送网络消息通知
4 s# J( ?2 W6 j0 ?    @notify_level_page = 0,                          -- 不发送寻呼通知
1 n( v4 g/ D) f6 E" Y) w* `    @delete_level = 0,                               -- 不自动删除作业
0 P; z9 w( U' R  Z    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
- c& n$ ]+ S3 _    @category_name = N'[Uncategorized (Local)]',     -- 作业类别  R; a6 P& J4 M
    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)- S+ C9 Z4 e: \* T) ]3 m* ]- u
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
# g2 g& g; z5 KGO
" Z1 m" k# l( i( p* a2 B& [% n% z5 ]# j
-- 为作业添加一个步骤
5 O3 m0 U% {9 O1 w- XEXEC sp_add_jobstep
3 C9 b& v; |) h% @& d    @job_name = N'IncreaseUserCashJob',              -- 作业名称
: \. z5 n* _6 X7 w3 M: S; \    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称% A5 d2 k- N* p  F5 T
    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)3 s. Z1 [. d: x% }6 p2 o! \, n9 Y# }$ Q
    @database_name = N'account',                     -- 指定数据库名称
. m" y& V  O4 f    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)( T4 P# ~" g6 e
    @retry_attempts = 5,                             -- 重试次数
( E: M) ?/ [$ S( o; A    @retry_interval = 5;                             -- 重试间隔(分钟)0 o8 x6 F/ B7 G/ @0 Z3 k  W) _
GO- |( `6 a8 G7 O
* b; p: S1 b( ?
-- 为作业添加一个每分钟执行一次的调度8 I% l& Y+ N" n/ s4 k
EXEC sp_add_schedule - E' W+ J( Y! U  T! X
    @schedule_name = N'MinuteSchedule',             -- 调度名称
. R( L& \! u; V2 G" Y9 Y    @freq_type = 4,                                  -- 频率类型(4表示每日)
# B/ B; q$ z0 s- t    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行
4 |( s8 O' i- T3 M- x0 C% G8 i: s1 Y    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)5 ^' S% [' F3 w+ T: S' n
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)9 G9 N4 U1 A5 H6 _
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)  B9 l( T1 k0 z; K# A
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
7 }6 ]5 j3 j8 ^9 }& n; J    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)8 J9 E9 i. v* c& ]
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
$ O* R" p. @- H( PGO4 S7 g7 @$ k2 w/ @7 p, J( h# F3 ~

, x# b. Q9 n+ M) \* E& |-- 将作业与调度关联起来
6 m5 c/ L7 u. A* _& m: h$ SEXEC sp_attach_schedule ! Z# X9 `# J+ ]5 X" N
    @job_name = N'IncreaseUserCashJob',              -- 作业名称$ l5 B8 C5 _0 C  E1 H  p) {* m4 E( P
    @schedule_name = N'MinuteSchedule';             -- 调度名称
. m, p1 A# y4 v' D  I6 h3 dGO( D' F! m3 b) R

2 _+ r) D& I6 S! Y3 |-- 提交作业创建到SQL Server Agent
8 _. L% y- `0 \EXEC sp_add_jobserver - u- C! q. T1 a+ F  ]) p
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
) h' `- p  O  _' \) S8 p; `& a    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')1 k0 M3 F- n9 J* O0 c5 [* A$ X) u
GO
5 J7 `( U4 V6 A
( |) m. x  v2 x5 U  a3 C; y( d& ~& l$ n  [3 ?/ X) I" c2 ]

9 d! k3 A/ Q( g5 i% P! g6 J3 m4 P. E' l" Z  T# i+ o

  }0 r1 D  v( @4 [: J
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-6-26 11:34 , Processed in 0.042225 second(s), 31 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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