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

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

[复制链接]

2

主题

75

回帖

825

积分

高级会员

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

2

主题

75

回帖

825

积分

高级会员

积分
825
金钱
690
贡献
58
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------4 u  B1 B1 f3 J9 ^7 L
USE msdb;( J/ z: x/ y' L9 L- l2 L' t' l
GO
3 _$ ~$ C! I- S
3 p9 Y0 p0 J' N. h-- 如果作业已存在,则先删除它5 C, l( a- m9 G) u7 {# ?
IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')
8 X+ w5 ?9 C9 s" C6 r    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';7 F$ Q2 s% s8 w+ G
GO$ \+ V6 U/ }0 I7 V7 ?5 E
3 `: P; J" X  S  \
-- 创建新的作业3 W% a) I$ K3 E7 b* {0 w) h% m  g
EXEC sp_add_job
8 ^% a" l: [. T4 t    @job_name = N'IncreaseUserCashJob',               -- 作业名称( E& l/ D* J' }$ O+ z' I
    @enabled = 1,                                    -- 启用作业
  I3 d( O! A; l0 B$ {- ^+ P7 {    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改9 k" l7 A1 a, J' C
    @notify_level_email = 0,                         -- 不发送电子邮件通知
$ m. V9 z% k* t. {( n    @notify_level_netsend = 0,                       -- 不发送网络消息通知
/ r3 M/ D, h, x    @notify_level_page = 0,                          -- 不发送寻呼通知
& x1 P* p1 W* u9 ]# k    @delete_level = 0,                               -- 不自动删除作业
. s, y, m- F0 S4 x5 B: r1 y    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述+ p' y% R" V# }+ V8 m
    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
( R( \/ f2 C& Y+ S. t3 t7 {( j    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)* p2 H& b" ~1 B! ~; Y9 `4 O7 l
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
1 ]0 k" m1 E) k- P% P/ NGO
" d, L% ?9 N- [1 W! L3 }# @
8 a+ R" |0 B% [-- 为作业添加一个步骤' g# r; c- I4 J- Q. y; s$ {+ a
EXEC sp_add_jobstep 7 l6 k- D' g5 I  T
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
( S2 G- D. I) B* z8 f    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称* x" D. [0 ~5 J1 X5 n+ e
    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL); V5 F( v+ J9 X$ b' e6 z/ T
    @database_name = N'account',                     -- 指定数据库名称# k- I' B, t4 r3 k; u/ M3 h
    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
& J" ?) f* z# ^  d    @retry_attempts = 5,                             -- 重试次数, G& }$ [" v- ]" s, }
    @retry_interval = 5;                             -- 重试间隔(分钟)  k" p. ^2 _: V$ N7 j- x
GO
+ F6 [- @  V, M. I1 H2 J) t
* U: A* s7 `" I-- 为作业添加一个每分钟执行一次的调度
/ Z$ Y& m6 c% L* S* _EXEC sp_add_schedule 3 ^/ q+ W) E/ K4 R+ b+ P
    @schedule_name = N'MinuteSchedule',             -- 调度名称
( i& v+ b/ Q( U    @freq_type = 4,                                  -- 频率类型(4表示每日)9 g! [- D, y* s& j$ b0 w7 Z
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行
) i- Q" @0 j& Z, r2 M    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)* n9 x+ N7 P. }  D+ I# m" Z( {
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)
& M( l. O' s+ T" c    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)7 t5 m# n4 J  K4 W# T* E4 ~9 Q' g
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜): ^, ^! K0 g7 H# o  v
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)1 |5 W; i' I$ S  J8 S
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
, u1 f6 E% s6 S( yGO5 i+ V. h0 U8 c/ ~' a( a5 ]

" E7 q* b. y+ ]2 ^1 t- x2 ?% B. r& V-- 将作业与调度关联起来
) K4 z8 L4 H8 G: S, _EXEC sp_attach_schedule & U7 q/ \+ g! k8 Q* ^
    @job_name = N'IncreaseUserCashJob',              -- 作业名称* V4 a3 y7 S8 {# W3 N0 Z+ f
    @schedule_name = N'MinuteSchedule';             -- 调度名称2 J4 u  r( J0 D. w! ]+ Y# E: e
GO
, T; |7 d$ M: H8 l$ \% d: O/ e8 v, X9 X' u9 u
-- 提交作业创建到SQL Server Agent
) _& g2 r+ x! F  k9 @5 d( |, iEXEC sp_add_jobserver
, K+ a" U* r( C1 M+ {& W    @job_name = N'IncreaseUserCashJob',              -- 作业名称( R8 s& B+ x( m1 h* Y" V7 N
    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')
+ ]6 R) ?+ s7 V4 F7 NGO
7 b& X, d9 w8 M* j% e9 A
* X4 ~- I* M% L7 j' N$ U
) Q% _9 ~+ ~1 Y7 ~/ g( }" g: U) k( E; K! G

6 [- u. |2 v; S" Y4 a# {8 q. I
+ U4 d0 [2 F2 n4 E
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-1-1 23:58 , Processed in 0.071200 second(s), 29 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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