找回密码
 立即注册
查看: 2783|回复: 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作业计划每分钟运行一次-----------------------9 K( i2 [: V0 D) u6 ]! b1 L; f
USE msdb;- Z- h& U2 O8 U  U) L6 N: \" L( c* b$ I
GO
# j8 x, P2 H1 C0 H2 \0 T) t( v5 x
0 Z- R$ J. |7 s! p-- 如果作业已存在,则先删除它
* Z* ^( J3 f1 u" A; c2 ?IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')  }7 U, Y2 }! Q2 y5 ?% j
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';6 R0 i) N1 T5 P
GO( v1 K% i' P$ Z; E" h/ x4 i. Y; l
3 }$ m, o" `4 G) _/ I% B4 x
-- 创建新的作业
! l% F! U5 B/ o+ Z9 [2 \1 \2 P  vEXEC sp_add_job / t% J# G; x2 k1 o
    @job_name = N'IncreaseUserCashJob',               -- 作业名称+ {) r) E( A6 k7 E7 B" i8 h
    @enabled = 1,                                    -- 启用作业, u* H. Y$ e. x6 f: P7 q- q
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改, F+ M" y% g1 O4 }" ~0 i1 x" K
    @notify_level_email = 0,                         -- 不发送电子邮件通知% [1 K  W/ ~, a$ ]8 S1 }
    @notify_level_netsend = 0,                       -- 不发送网络消息通知
; B4 i6 @! Z7 u: s7 w/ ?    @notify_level_page = 0,                          -- 不发送寻呼通知: w# a/ g  ^7 s% [" ^  T, K
    @delete_level = 0,                               -- 不自动删除作业
7 u9 K" ]% ^8 f% b  x+ A1 |    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
  X+ S# D) z1 j& J    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
- j5 Z1 ^2 @- `! M3 _    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)
% f) y1 t1 N5 L1 `    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
$ \/ l3 ?( J; q+ F7 NGO0 J( k2 Z! @, r9 L- B

) ]8 [/ Z$ Q3 D& b$ R-- 为作业添加一个步骤+ R3 T3 v! W; Q% U# f1 \+ k
EXEC sp_add_jobstep , }' o# O( q7 w$ e. D6 k
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
2 G( K$ e. ~3 S8 U* m* K    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称( K" M( ^$ f* d; ~
    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
& e' K& g5 o% j' \8 r1 ]' Z    @database_name = N'account',                     -- 指定数据库名称. v( l& I  D3 x
    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
9 O8 r; r& _( x& E" `& @    @retry_attempts = 5,                             -- 重试次数5 h2 R) Z' o3 c
    @retry_interval = 5;                             -- 重试间隔(分钟)$ H- h! @/ I5 r5 K* V# a
GO
% b* m% X2 s, v; I4 X4 ^6 f
4 s% l, N$ N0 @6 H+ U-- 为作业添加一个每分钟执行一次的调度: V" K2 h8 k1 p0 w( r
EXEC sp_add_schedule ; B2 i6 k6 J& |+ n$ g5 d
    @schedule_name = N'MinuteSchedule',             -- 调度名称
& l7 m" k8 T/ @' i- |    @freq_type = 4,                                  -- 频率类型(4表示每日)/ h  y( \7 d9 _, U* O; \& b
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行
3 P" A8 A0 k3 g0 |: E    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)
/ [7 M; Y+ q  ~* V; L  t6 e    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)
- h0 g( T/ e3 M. ]$ h9 V3 r5 O1 z    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)
6 ]* D$ Y) J# [# G' k" G! D- M( ?    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
9 Q3 N; U2 o3 q5 r! Z8 R9 u& k    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)# K& d1 {* F" f/ ]
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟); P/ @8 R; L# j, Q$ F1 K" H
GO- j1 c" d! n) D3 H6 V. L9 _
* n. W3 I1 ~  a9 ]
-- 将作业与调度关联起来$ D5 Y1 c' ?  z7 ^2 b4 E2 l
EXEC sp_attach_schedule ; p: }& W# ^. {2 T( y8 \
    @job_name = N'IncreaseUserCashJob',              -- 作业名称2 J" s3 o" b  j2 b
    @schedule_name = N'MinuteSchedule';             -- 调度名称' E* x0 s3 q' d7 r5 L. N% b2 K
GO- ^; f% O! F1 U
0 k2 ]3 z% w4 A7 j
-- 提交作业创建到SQL Server Agent1 P  ^. Z, X9 n4 A
EXEC sp_add_jobserver
* q2 }* ~! z; ?7 L/ M, S3 a& s( i    @job_name = N'IncreaseUserCashJob',              -- 作业名称
& F2 q  ]4 o4 N& S2 \2 c1 v2 ?  ~    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')
6 k+ d$ m7 D7 {% Y/ @GO
$ s, R4 E- Z" A2 F/ [2 v
: W8 \5 N' L1 W& g3 V& [" m( Z4 a& a
' P. T% [! r  s4 Z7 L5 U
1 k+ S) S0 c1 v/ }6 I
' O# F# V1 X2 g4 v/ Z% |
7 a1 ]7 N8 k9 c$ c" i: {
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-6-17 08:19 , Processed in 0.039424 second(s), 31 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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