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

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

[复制链接]

2

主题

75

回帖

891

积分

高级会员

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

2

主题

75

回帖

891

积分

高级会员

积分
891
金钱
742
贡献
72
注册时间
2024-9-13
发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------
( v4 F, C$ R7 P6 U$ b; t4 xUSE msdb;" j- ]# L6 z! z! |4 {& K
GO
2 X' |# \; R" s6 B, E% q9 h, Q9 m, G. {% P. n
-- 如果作业已存在,则先删除它/ {' T( D# J# G: X5 B9 `
IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')  ]8 h# E3 ]- e' D9 I% r
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';
; x% r+ N+ ?* ?* `7 q+ b& qGO/ [& ?- W. J( C

0 E4 G" O1 d2 x8 [# C2 \-- 创建新的作业
5 Z/ \( o) S6 UEXEC sp_add_job
$ j4 h+ {' |# N% s    @job_name = N'IncreaseUserCashJob',               -- 作业名称! w/ i0 M4 ^. M5 [$ z$ [
    @enabled = 1,                                    -- 启用作业/ h7 T+ n! B  r$ w5 r( v
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改( j  {8 t" s7 W9 E8 q
    @notify_level_email = 0,                         -- 不发送电子邮件通知
. }3 p6 D3 Z. Y, n    @notify_level_netsend = 0,                       -- 不发送网络消息通知
. L; L2 l; K; M! d9 R! T) [/ i    @notify_level_page = 0,                          -- 不发送寻呼通知- I, N& m7 u$ B# ^
    @delete_level = 0,                               -- 不自动删除作业2 ^8 {6 t) ^" Y: b  o% `
    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述& g# _8 A* [' n1 b7 O' }/ [
    @category_name = N'[Uncategorized (Local)]',     -- 作业类别' g5 x4 T4 Y7 T, m2 R  ]
    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)
0 y! H& s  w$ m/ _. |/ _2 ?6 k7 ]    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员0 H0 z9 b+ j# k/ t& b2 r+ \' L
GO
, n7 ~  H# n. N+ r/ E; H* U
5 Q* q7 O( Z  f8 J: a8 P  Q-- 为作业添加一个步骤5 q) }( k. p1 w, o
EXEC sp_add_jobstep
0 y- l/ A5 e, m0 W7 n    @job_name = N'IncreaseUserCashJob',              -- 作业名称
* i7 n3 i$ G& e) p) G" W( X4 l    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称: N0 C, x- B" w( I  {' s
    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL), R' B0 W+ O; B# N- ~# ?
    @database_name = N'account',                     -- 指定数据库名称
7 C0 s8 R& c/ D/ M7 X! Z4 d    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程): z/ x" j) }+ }: @  p0 ^
    @retry_attempts = 5,                             -- 重试次数
: r/ Q' [2 e2 G    @retry_interval = 5;                             -- 重试间隔(分钟)0 w6 d) w: T! q, ?  }
GO' I/ J. [" p+ m0 p$ e

6 Q3 ]! B+ S; W, ?8 g7 g# ?/ `-- 为作业添加一个每分钟执行一次的调度
( c4 m' d: x) c" H1 ?" y1 cEXEC sp_add_schedule * \) }- t7 v% t9 Z
    @schedule_name = N'MinuteSchedule',             -- 调度名称
( d' ^/ j9 ?0 N4 |9 \6 [) x% H    @freq_type = 4,                                  -- 频率类型(4表示每日)
" R# k5 S) ^9 A) v1 R5 e    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行* ]+ u" ^) J& y% i5 y
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)" `$ b+ z$ j$ H$ J' ^
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)
  Y. J+ Q2 R8 f) t    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)
9 Q4 q$ r# r2 i' y& l    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)8 l/ r; Z* D0 t. l8 `. Q; n
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
9 X9 M( D$ u8 ^+ H% D    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
1 Y* i0 l8 ^) h- L. p( WGO- a9 d6 t: ?& }$ h

3 Z  x& M* v. d3 u-- 将作业与调度关联起来& u% r! D1 }" A; h6 d0 e# u" t
EXEC sp_attach_schedule
/ a8 t" ?& g1 j% A    @job_name = N'IncreaseUserCashJob',              -- 作业名称
0 U: |" _( H8 s    @schedule_name = N'MinuteSchedule';             -- 调度名称
, s" f& L" z1 QGO. K% ~: b# ~3 }4 d4 W
) A/ q) p. [1 z" a* X
-- 提交作业创建到SQL Server Agent9 I* F! e4 _6 n7 Y+ G( @% ]
EXEC sp_add_jobserver " r0 h* H/ h1 }+ `! r
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
7 U( J  @" ^% w- X8 k    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')
3 f1 z  o5 M% CGO
6 V: r% p" S+ N) L, \$ T- Q( v- \2 S, B) C+ e! t1 J) b* e
( {# Y/ R" X+ s

8 m* E3 \2 n# @4 P) _
3 ?+ m% v" Z9 E+ f. y+ C
& w1 k9 s1 s. \! y& O9 c
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-11-7 07:10 , Processed in 0.068934 second(s), 32 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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