找回密码
 立即注册
查看: 3166|回复: 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作业计划每分钟运行一次-----------------------4 f3 s4 D8 s2 ^' l8 i% D" Q
USE msdb;
# B) t# N4 t4 F% w+ yGO
" w; h8 Z, k0 ]8 m0 V$ w, q; Q. ^, J! Q, p, g
-- 如果作业已存在,则先删除它6 j  N+ D2 v9 E! }
IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')
- h" A8 u6 }) C, l1 p7 K0 L0 \+ ?! D    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';
! O: z2 M) g6 nGO
6 D3 H) i9 a2 q9 w/ p3 I3 R) Y: s
7 C6 i1 X$ ^6 U4 r-- 创建新的作业' a* O, q2 n" Z2 `5 ?  w' l9 W7 X7 l7 K( a
EXEC sp_add_job
% c* j  g9 {: O% Q8 Y+ _. U/ ^    @job_name = N'IncreaseUserCashJob',               -- 作业名称
+ b% L0 Y4 m% [8 V! k    @enabled = 1,                                    -- 启用作业) z+ `" Y$ u- X: }% g
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改/ b9 r0 s0 P' ^9 c3 \0 i
    @notify_level_email = 0,                         -- 不发送电子邮件通知
: e% e8 d" h, s    @notify_level_netsend = 0,                       -- 不发送网络消息通知
, {; r# U5 h2 y, N% a$ y# Y    @notify_level_page = 0,                          -- 不发送寻呼通知
- w5 `. ^* g0 D+ _" a" a& a; }$ {# d    @delete_level = 0,                               -- 不自动删除作业
/ c; u# X: U; }8 D5 F8 |    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
/ `- w% |& o5 @1 g% O    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
+ V. e3 P* n. e# n    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)
" A' ^! e! S: \% m% B, U    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员
( M' V( g, T, sGO
* S+ i( o& t: ?  _! e9 ]$ W2 v7 A' C% W% ~; X/ Q8 S9 D; j0 f& k. @9 k
-- 为作业添加一个步骤
5 p( _- P* Y) o( XEXEC sp_add_jobstep + M: y7 I0 U% P. Q8 `, i
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
5 x* u% W* t) R! q    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
/ C  |$ p; j6 V7 I& d! q; N( q    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)
- Z/ `$ v  P1 ^9 p, t8 l    @database_name = N'account',                     -- 指定数据库名称
7 _, s  ?/ f+ }: v- h2 p5 b    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
$ g( C, E/ [& b1 w3 Z    @retry_attempts = 5,                             -- 重试次数, R* T1 Q6 F; C4 P' T0 z& A
    @retry_interval = 5;                             -- 重试间隔(分钟)
3 @6 F( h4 C+ U5 |  q- d1 N! hGO9 `7 y& I' x, p# ~) [/ g
  t% w  v/ k% f8 R7 u4 n
-- 为作业添加一个每分钟执行一次的调度9 v% U) H) w% O" s5 q0 q! x
EXEC sp_add_schedule ; ^5 j$ w' Y# k# g# c/ U
    @schedule_name = N'MinuteSchedule',             -- 调度名称% C' |0 s5 f! |' }! v. ^1 V0 g
    @freq_type = 4,                                  -- 频率类型(4表示每日)" |: B6 J, h3 |9 o7 [5 F8 f
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行* ^( w0 E6 P" \  x) j& _% I
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)
) J5 F+ e0 {9 j" v( e9 O# _1 B& i    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)2 i; p3 n- I) V, j( l
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)$ E  a3 Q4 n  W3 b/ L( ?9 E
    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)' ?3 @# N# z- O5 w; _
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
6 z( e* S$ @0 _/ L    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
" e' ]: q. F+ ^) S1 z1 xGO
0 O" r: U. O7 _9 y- v
* V0 `9 w8 D* s3 d6 ^1 o-- 将作业与调度关联起来- p( q6 M0 m5 E/ f! H# R# d0 R/ e
EXEC sp_attach_schedule
5 Q; O8 b. d! r. ~- \8 A9 d1 N0 M    @job_name = N'IncreaseUserCashJob',              -- 作业名称
4 Y- j7 Y: Q& H  K5 E    @schedule_name = N'MinuteSchedule';             -- 调度名称
  x- a8 U3 C( cGO
+ P) J6 h8 Q" V! o0 s8 p, ]1 D! Z8 v- P. s
-- 提交作业创建到SQL Server Agent
9 h1 B2 E1 P. F0 |' AEXEC sp_add_jobserver
' C! b4 y% {6 |6 _. o    @job_name = N'IncreaseUserCashJob',              -- 作业名称/ U* V3 N( J2 d
    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')4 a5 Z, _8 k, s' N% G. C$ X2 G
GO2 ]: F: H* J0 p0 L
1 ~! v, g: l5 R

5 r& l# E5 ~9 p" W* Y( J  b+ U5 d: w$ X# g9 D! ?7 W+ Y  j
4 `  _, q! g$ _' |. B; }

. w) ~$ t. ^8 b2 y* v0 I0 s
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-8-23 09:23 , Processed in 0.055600 second(s), 32 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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