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

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

[复制链接]

2

主题

72

回帖

303

积分

中级会员

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

相关帖子

2

主题

72

回帖

303

积分

中级会员

积分
303
金钱
207
贡献
22
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------# d9 v1 M  B- b2 u, j4 C1 t
USE msdb;
  @5 Z: E1 n5 G; ]  B" O& [GO
3 V5 D. ]* P" O4 G
9 M* W$ a1 V- p1 K# E-- 如果作业已存在,则先删除它8 k2 W% H* z* I0 d, K' \; w+ d
IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')
# t% H# ^% h4 U7 j# D6 P    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';
1 C  [& ]( M! y7 U0 {# h6 J3 UGO; X. P$ t# J, M/ W4 h* ^3 K8 D
+ Y  h3 y# G) E+ K3 h
-- 创建新的作业
( h# s, n/ @9 ]6 q4 s# K( L9 A) |* REXEC sp_add_job 0 l- r4 }5 b2 c. o
    @job_name = N'IncreaseUserCashJob',               -- 作业名称- B' Q+ ]" l3 j- W$ O6 y
    @enabled = 1,                                    -- 启用作业  w+ o  U7 H5 J( n& T
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改
  i, X+ W% k1 a; Y$ U1 d    @notify_level_email = 0,                         -- 不发送电子邮件通知0 |5 X# x/ V  b5 h  \  v
    @notify_level_netsend = 0,                       -- 不发送网络消息通知
) R* J, a7 U; d1 l    @notify_level_page = 0,                          -- 不发送寻呼通知% w+ ~1 p" V1 Q" y- E4 ?! S
    @delete_level = 0,                               -- 不自动删除作业
6 ?# D, k; W: }" T    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
2 y1 p7 }% @9 Q+ p9 G0 W! L    @category_name = N'[Uncategorized (Local)]',     -- 作业类别( W; g5 a/ w; J+ q/ r$ D; k5 q, X' m
    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)
  b& Z" ^- ^3 {* E5 N* Y    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
, J9 x% ~- V( x9 F, MGO
7 m! P) w) g& Q$ U1 ^6 j9 \/ V. h7 A  m7 K& r" L( ]5 r! j$ n2 D
-- 为作业添加一个步骤
3 F6 |4 |8 |9 p/ p" N3 ~' L- Z& }- W0 ~EXEC sp_add_jobstep
0 o9 u/ M3 u$ ^4 M    @job_name = N'IncreaseUserCashJob',              -- 作业名称! b3 W: |- g, f$ D
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
. V8 `3 v4 R& r3 _    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
# a* h$ |; l5 B  a+ l% U+ ?    @database_name = N'account',                     -- 指定数据库名称% R& \8 z8 r: G# W3 e. \9 c
    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)1 t$ d( Y5 F0 ~3 s2 o5 G
    @retry_attempts = 5,                             -- 重试次数3 F7 C- I: s& J1 l
    @retry_interval = 5;                             -- 重试间隔(分钟)
4 }6 f( x& c! Q" vGO
  Z2 U, N. R2 K2 I0 s% H' @( r9 Y3 Y' [4 C  j1 p, c4 `: u# I
-- 为作业添加一个每分钟执行一次的调度
/ Q9 k+ d+ {7 r8 }& rEXEC sp_add_schedule ) x' J7 t: a% }' P+ V
    @schedule_name = N'MinuteSchedule',             -- 调度名称
  ]9 b8 [% O1 i* ]    @freq_type = 4,                                  -- 频率类型(4表示每日)- T8 v- c) ~! Y' H
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行" _2 R- `8 y! u' u3 j
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)
! o/ i+ ]2 j5 F7 w0 S) E% s    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)+ r6 Y+ I1 F1 _/ A4 _
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD), I& D9 G' H4 P" Y; J7 ]
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)3 A/ Y7 ]  S+ S( V: k# }% a9 y
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
2 a& x" b1 r" X% P$ I4 S1 b    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)) V/ A  u  D6 L1 y
GO
  z8 B! N" w. k% N5 E4 Z9 r
- e. T9 Y( z6 J  w1 p-- 将作业与调度关联起来
4 T7 y1 d" [# |; o! n# ]% NEXEC sp_attach_schedule
1 Y, ^  e6 ^' J    @job_name = N'IncreaseUserCashJob',              -- 作业名称, Z1 q( x' h% s4 n$ e" {, b9 q
    @schedule_name = N'MinuteSchedule';             -- 调度名称
+ [( o# I2 }! ?0 rGO
- b: r9 D  X+ C% P" v: M( ^% C6 x- ^  y" a8 h7 m
-- 提交作业创建到SQL Server Agent
- O" I; g. T  y! Q* R: rEXEC sp_add_jobserver
- d  l+ o1 _/ f. x/ F8 j6 l* `1 }    @job_name = N'IncreaseUserCashJob',              -- 作业名称
, M( |+ P. u+ V/ m+ ~    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')
( U- v& c, _) |0 q2 t, f; rGO1 I1 N3 Y- D7 n) |& I6 a" Q, ~
4 ~  ~+ \  Y" S4 S5 J. j8 v8 B
% n. o$ |, U9 X4 t: z/ `" w

. G- s8 w% A  D3 v3 X. p
7 @3 ?1 _' ]9 ?/ _. P, z' m9 h- ^% _9 x& e% S6 Z. s/ R4 o
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|EGameol

GMT+8, 2025-2-22 16:54 , Processed in 0.040041 second(s), 25 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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