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

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

[复制链接]

2

主题

75

回帖

867

积分

高级会员

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

2

主题

75

回帖

867

积分

高级会员

积分
867
金钱
728
贡献
62
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------
2 J& E# h9 ?1 [$ }! ZUSE msdb;
6 ]% h5 Y0 O' ~/ `: \GO
6 H; X# p  J: u- D8 n) \
% I5 r! c7 f/ G& @( m0 i( G-- 如果作业已存在,则先删除它
( `5 K0 r0 K+ DIF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')
7 D' _7 W& i6 ~9 o3 }    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';
' v8 |. T3 f  tGO$ B" d! ~, {. @7 C* h& d. ]* S
8 M7 t2 o& m$ O+ R7 ~
-- 创建新的作业  A) h" ~2 O. k4 `. d- I8 P( L
EXEC sp_add_job ! s% g. Z6 p- ?8 X: H) b4 U; y
    @job_name = N'IncreaseUserCashJob',               -- 作业名称
5 ]9 r) u4 D- f' `  b& M- m    @enabled = 1,                                    -- 启用作业* U8 \' l9 [" a5 _( {! `4 O
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改8 w. p  G; a* f6 h8 C( c# p$ G
    @notify_level_email = 0,                         -- 不发送电子邮件通知
$ e" p) D" L% I3 b/ ~    @notify_level_netsend = 0,                       -- 不发送网络消息通知
# i; q2 \6 h4 t1 {  [    @notify_level_page = 0,                          -- 不发送寻呼通知& L3 f) p% `0 u/ H3 ^
    @delete_level = 0,                               -- 不自动删除作业0 Q( U! V0 W2 S5 U5 [! v
    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述+ c0 k( m4 ?* T3 O+ r/ s
    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
1 @. Z, J* q% o2 _    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)5 q# k! R) J8 O
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
  j2 z7 y$ {" @1 D! rGO9 K/ ?8 S* e7 s" |8 X

) Y4 @# R. I; I; I4 d* y6 o-- 为作业添加一个步骤
$ U. ]. O- o" Q# x) AEXEC sp_add_jobstep ; X' ~, `9 n. q, B- E; N
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
' M! F8 r% H( E. ?  g7 h1 O7 b' z    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称) `. g! J0 `$ {
    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)0 e" g! G& D, |+ [
    @database_name = N'account',                     -- 指定数据库名称
! E) E) \; i, l) X  i; N    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
, E& i/ m3 E, e1 Z& |- S- m+ y2 S, t    @retry_attempts = 5,                             -- 重试次数
% F+ N, t6 l1 v& j/ E! I( N1 k7 l6 g2 c    @retry_interval = 5;                             -- 重试间隔(分钟). ~/ [/ j; U; w8 g
GO
: H: x  v! H1 }5 \% [& T  x& J( q& V1 e% d6 q! }/ l' W- `
-- 为作业添加一个每分钟执行一次的调度
0 y6 Z/ J0 e" hEXEC sp_add_schedule 8 |- |2 r8 O7 P+ |# ?- d" H
    @schedule_name = N'MinuteSchedule',             -- 调度名称8 j1 W5 e4 s% _
    @freq_type = 4,                                  -- 频率类型(4表示每日)
- S5 J# ?! }- S  e6 v$ \" r    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行) p& T& A5 i0 y1 a0 P3 ]9 H
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)( X+ O3 G( I# B! t" t
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)
0 E" ?3 }0 h; z1 E    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD); |+ p$ f7 {+ Q3 W# Q
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
6 t. a( a$ U  T    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)3 e! f- J: |$ Z8 `8 {* x7 v2 }5 @
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)  h: H6 n6 N5 ]( N$ n
GO5 r% m! {, c8 r/ G" w
  n. L; |$ B: i7 A$ Y" O/ \
-- 将作业与调度关联起来9 t6 b7 c, X7 K% e
EXEC sp_attach_schedule ' Y3 B1 D1 V' [8 Z& i, A
    @job_name = N'IncreaseUserCashJob',              -- 作业名称5 G. A! v$ P0 \! w6 R
    @schedule_name = N'MinuteSchedule';             -- 调度名称/ \2 a& l+ w, M; I% E) A; J5 P% \
GO
% [, [8 l- }8 z8 H7 N
& q# U5 v) f% g1 _3 Y-- 提交作业创建到SQL Server Agent
/ {, y. P0 t5 z7 o3 L+ D1 s, H" g0 oEXEC sp_add_jobserver
' A1 x/ e# z) r7 h" g  s0 e# e( n    @job_name = N'IncreaseUserCashJob',              -- 作业名称1 U5 f+ V4 M& I5 F/ B' z
    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')
. g6 B2 H  p6 o4 T& mGO
+ o& h/ H/ @" z3 n0 h3 d  v& I) v0 E( s2 m
+ [6 A  w! o+ F& m& V. h6 _7 w$ o

* e" ^5 T$ A: a% {5 N( @
  J3 q& Q9 E- ?6 U5 J- J3 O5 E: l
3 _0 X0 A" _0 w/ ^8 I( F
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-2-12 00:40 , Processed in 0.073323 second(s), 27 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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