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

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

[复制链接]

2

主题

73

回帖

729

积分

高级会员

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

2

主题

73

回帖

729

积分

高级会员

积分
729
金钱
600
贡献
54
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------
) n0 U$ u/ F- o) n! y% O4 yUSE msdb;
4 U7 B/ v) V$ q5 T7 N) AGO
/ C5 s2 i' y8 u+ Q" P. n' C7 z! y4 |$ N
-- 如果作业已存在,则先删除它
3 U: N+ v! t* i6 D" x2 _$ GIF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')* c( J6 X2 ^9 `  D
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';
2 @+ _. a2 t* \. l# N6 q' R- I5 }& Y4 rGO1 Y) M" N. h& H" ^+ ?

% |0 |4 M. V+ x-- 创建新的作业
; M7 _3 S$ c* ]! L+ k: ^EXEC sp_add_job   m; Q; C5 ?2 z# u- I, E
    @job_name = N'IncreaseUserCashJob',               -- 作业名称# R) H5 ^' L& `6 ?* i" @4 h9 a
    @enabled = 1,                                    -- 启用作业
' G- o8 I; Z2 n2 [  J. k    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改
, j7 D' q% k) L  [' H3 I1 w: [4 s    @notify_level_email = 0,                         -- 不发送电子邮件通知, y% w4 y6 k! i5 X1 P% X7 a
    @notify_level_netsend = 0,                       -- 不发送网络消息通知& A' @) y9 }0 M' O$ C
    @notify_level_page = 0,                          -- 不发送寻呼通知
) A1 D& Z% j4 |9 r    @delete_level = 0,                               -- 不自动删除作业2 C: K: p* |; T! R# v% K. F
    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述$ t. j8 h  \: }% O0 r. \8 k9 O$ u
    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
# f& Z+ ~) ^4 ^    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)9 G" d) I" H5 Y& u
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
5 ]4 z4 z/ ~! W7 G$ {3 w: J$ r# @! NGO. G( N2 s9 j; \) P8 i

3 ?/ x9 H9 S- C$ g9 D! u% ^* n-- 为作业添加一个步骤- @3 |% j8 z0 U+ s3 ?% L
EXEC sp_add_jobstep 8 M! i* t" q: S, R/ B* P
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
) Z2 i9 K& ]! F$ J4 I* a    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称/ x: ?' g  v& ~3 j4 @
    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)4 d: e  h; u) s% Z2 R9 e
    @database_name = N'account',                     -- 指定数据库名称$ B! V# ^. F& L) [
    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
* w& K3 Q% P, y% W    @retry_attempts = 5,                             -- 重试次数
( s. M9 A9 }8 J    @retry_interval = 5;                             -- 重试间隔(分钟)
7 Y* h4 w/ Q) J2 ^% ^GO
' N  O: V& K+ K* r6 H. k0 m( x4 n, e6 u& C) M2 f& S
-- 为作业添加一个每分钟执行一次的调度2 f9 R& j( V  E) a: e2 v$ q
EXEC sp_add_schedule & Z# F) o0 c) B- \5 |, q
    @schedule_name = N'MinuteSchedule',             -- 调度名称
  t& h; b; p6 |    @freq_type = 4,                                  -- 频率类型(4表示每日)
' M7 a: G& L0 Q& Z  C    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行' P% U7 b6 U2 c* u1 t
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)# {. B" ^* o! Q- N2 b5 j1 b% y
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)
% U  ^$ J( W$ A/ M    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)
6 l, _% c$ n+ j8 ?9 K- v7 N: y5 Y; z    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)
4 t) q! }- [- ?    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)9 c7 {0 R5 h- g: {( J
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
9 H" j6 R& m3 N% R) NGO7 N6 R3 ^7 c. w$ I

% _. b8 K6 \- O3 ~8 ^3 E* |-- 将作业与调度关联起来
* U' A! L2 [) {EXEC sp_attach_schedule
' u2 J$ m# K& `( K+ a- B+ E    @job_name = N'IncreaseUserCashJob',              -- 作业名称3 ?# s2 j2 c' B2 g
    @schedule_name = N'MinuteSchedule';             -- 调度名称
8 r. w; X6 H* F1 w5 M* n3 z, Y% WGO) @. m! E! I5 C
) [; q( Y, l3 p1 K0 g
-- 提交作业创建到SQL Server Agent7 o; U7 F) R2 _9 U$ @1 U$ i
EXEC sp_add_jobserver
, t7 m1 b% H5 R6 ^3 ~1 l    @job_name = N'IncreaseUserCashJob',              -- 作业名称2 U  F2 P" X1 l* [1 o0 V
    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')
" \2 |0 n' o3 y4 P) s- YGO$ L" n; S5 a3 U4 v% I
5 L; A$ s# h& v: N7 ]. J
. e" D/ O5 O0 o, m

- `+ k: j; s1 ^0 l
, l! N3 C4 z: t& y2 O; ?9 P, P6 E' L* A' P1 f$ M0 E" B
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2025-10-3 07:01 , Processed in 0.048482 second(s), 29 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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