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

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

[复制链接]

2

主题

75

回帖

870

积分

高级会员

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

2

主题

75

回帖

870

积分

高级会员

积分
870
金钱
730
贡献
63
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------
9 U/ n; w% ^: M4 Y# `+ A5 Q6 a2 yUSE msdb;0 _2 w9 k1 n, c' S) C
GO
) M; I( \, f' ~+ o0 `  T6 t( i% U
-- 如果作业已存在,则先删除它
, M) @$ s$ s- E# ^$ \- \/ pIF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')
! K+ l" Q5 L) m0 _; u% ?    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';! u% y8 O! f, i2 ]
GO- k0 A) n1 M; m3 i' }5 }* Q0 L
1 X- [% S# b: O) u+ C. o
-- 创建新的作业- n& F* N7 S- Z4 z  q8 X
EXEC sp_add_job 5 H! C1 v' b( [' i
    @job_name = N'IncreaseUserCashJob',               -- 作业名称
/ B, n5 Z+ }. t    @enabled = 1,                                    -- 启用作业; j+ `5 S- ^7 V2 l+ b" J# S
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改
. X, u$ M% X8 m3 i0 M/ K& g    @notify_level_email = 0,                         -- 不发送电子邮件通知3 K, o2 l/ n; E1 Y+ B& Y
    @notify_level_netsend = 0,                       -- 不发送网络消息通知/ W) O6 j$ i# L) J/ R
    @notify_level_page = 0,                          -- 不发送寻呼通知$ B3 v& y. x/ R9 ^4 [9 W, O5 F; n
    @delete_level = 0,                               -- 不自动删除作业6 L6 T, a3 G, `: Y4 t* I* n
    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
* P0 q8 N: P* f$ ]3 j1 Q    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
6 r4 j& V8 e! Y3 T' W. ~" Q  d    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)
, e7 t& F( s4 `& z: q    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
) |2 H7 u8 R5 x& A( v% N& @+ gGO
4 r" {* j) J/ n7 e: J% ~, ~7 J1 h0 y+ p1 T" z) h
-- 为作业添加一个步骤3 B/ t* {1 ^7 G% ?, o0 l2 r6 S
EXEC sp_add_jobstep 1 w- M) ?: Q; H: |! ?
    @job_name = N'IncreaseUserCashJob',              -- 作业名称& v% u8 G7 K' p9 ?* |
    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
% z5 D; E/ {2 A0 A: t8 X1 u    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)0 m% Z' H3 t( F( B" |$ n( V
    @database_name = N'account',                     -- 指定数据库名称( T* s( L$ @4 ]& R1 j* ?$ {
    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程). T1 b8 @! @' \6 a
    @retry_attempts = 5,                             -- 重试次数
# H5 C0 C- c. b; j2 l$ c    @retry_interval = 5;                             -- 重试间隔(分钟)* \( p( ^5 L; w- g! Z* _- d+ r
GO1 \0 o+ A4 |; U* z1 b3 ?
/ `) i; [& H1 ]( j: P. `
-- 为作业添加一个每分钟执行一次的调度
- B; Y9 D+ q! s" S' w% h$ ~EXEC sp_add_schedule
7 E1 Z2 C$ _6 G    @schedule_name = N'MinuteSchedule',             -- 调度名称
% y; w3 e" `4 C6 V    @freq_type = 4,                                  -- 频率类型(4表示每日)+ W- P+ a& j' ^
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行
0 j" }% ^! B6 K& _& p    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟): M. w0 o& r4 Q
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)
$ ?1 @6 v0 y( q0 m    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)
$ r" D1 b" w) |' |! ]9 K$ p    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)9 r, \6 }  |8 Z
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期); b  q* B3 {  z% S* Y
    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
5 _; X8 l8 w: f2 k8 F3 mGO$ X; I) F$ t, L( ]& U# R

. L( o- C) D7 d: b6 z0 c2 Q" a, {-- 将作业与调度关联起来
7 i. W4 y  C5 {" r' x1 vEXEC sp_attach_schedule 5 t7 n# R* c$ b' t, s/ c& w$ [
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
% K+ y% E% @8 z$ U: ~    @schedule_name = N'MinuteSchedule';             -- 调度名称4 v: @+ S1 X/ g3 d
GO
7 d6 b* O# t  G. n
% T8 E$ V. o. p% {-- 提交作业创建到SQL Server Agent8 a& f9 K  H+ `* B5 ]
EXEC sp_add_jobserver , Z- J2 R) i+ T- P3 C" E+ E
    @job_name = N'IncreaseUserCashJob',              -- 作业名称$ q' Z* {( F& s1 g: \) l2 F6 O
    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')4 U. {7 @! x& T! k9 Q
GO
6 w$ x) |! Y3 \, e5 P+ P0 z% S- x8 `8 y5 |0 V
5 f$ @; S2 _( I) q8 ]; y* U

- d% ]' g: ?/ s' S9 K% `/ C. N+ ~% C

7 ], A8 r8 k6 E. w  ]% Z
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-3-13 11:29 , Processed in 0.027187 second(s), 28 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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