找回密码
 立即注册
查看: 2800|回复: 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作业计划每分钟运行一次-----------------------
) D% R- G" [$ d0 PUSE msdb;
7 R( J. P2 M" Y5 j: L8 }4 q2 lGO
5 V( @) b1 ~/ q" Y4 ~7 H6 z0 k1 a7 q9 Q9 H
-- 如果作业已存在,则先删除它
( c$ c' u. R- RIF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')1 [# n5 w& V5 V
    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';
4 b7 [9 u" s0 y6 b: d  HGO
$ D6 a5 g4 M' g8 v  k9 D
) ^& ^/ ]9 r) v; k4 @6 z& O) [-- 创建新的作业7 A" c8 _* b8 Q5 \3 e1 ~  R4 l
EXEC sp_add_job
# o: R, p/ l8 w% B: Y0 W+ Q    @job_name = N'IncreaseUserCashJob',               -- 作业名称
: Q: i" l; X! o    @enabled = 1,                                    -- 启用作业4 p  T, O9 g$ t  X# T5 U3 ^7 w# E
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改
  [, x, h( ^4 A7 U    @notify_level_email = 0,                         -- 不发送电子邮件通知8 U/ A' D" ?# Q& G
    @notify_level_netsend = 0,                       -- 不发送网络消息通知
4 Z: J( c0 T6 W! z  q2 [7 _    @notify_level_page = 0,                          -- 不发送寻呼通知
  L0 P0 Q( K( F3 K& N    @delete_level = 0,                               -- 不自动删除作业
( J) g5 c. D* C* ?' s  `' C  Q) A    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
) J# ^5 B2 K. u1 T- L9 P6 x    @category_name = N'[Uncategorized (Local)]',     -- 作业类别. O! I* G' Y0 @* l
    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)+ p/ I: a" C! M0 d9 b% B" t. J; \
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员4 o2 B; a5 g  D. o" @, U
GO8 k$ G+ X1 M5 }! U

$ r/ \" [$ s2 x# E  Y$ W6 P' l5 x-- 为作业添加一个步骤
% o% C: K1 d# S% E6 q0 `EXEC sp_add_jobstep / Y- L/ T0 c* Q$ C$ X' u+ t
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
* N+ y6 E" I$ }6 f    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称
) l" L# G" w* @2 e0 d% G    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)( c4 ~6 y& b4 w+ M% \5 m
    @database_name = N'account',                     -- 指定数据库名称* b# q; p0 o/ C% `  i6 z0 o  s7 p- t
    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
+ G1 V& ^/ X4 s. E% D* O% }    @retry_attempts = 5,                             -- 重试次数9 _% g3 O- X  M6 e, O% ^& h
    @retry_interval = 5;                             -- 重试间隔(分钟)5 Z8 f7 `# j/ b, I; U) Y% r3 W
GO+ p: l4 k' `8 f+ H* ?0 c: ]0 s, \' H

0 b- L: L0 n$ j4 W) C( r  m-- 为作业添加一个每分钟执行一次的调度
/ U; T/ h+ j8 [5 D% p- `0 J, yEXEC sp_add_schedule ; E: A/ O9 C0 v8 P
    @schedule_name = N'MinuteSchedule',             -- 调度名称- J" Q& ^9 Z" v" Q% F  j: w: H' V
    @freq_type = 4,                                  -- 频率类型(4表示每日)) S4 ^8 h/ y$ P$ t1 i5 K  p. Y
    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行, z# `( @$ R, N& J* e* @- q8 A
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)
: M* F0 Y& c1 F  z4 c    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)' q2 u! p) e) x2 g, n' N8 _
    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)
" Q1 n. ]' n- r3 r    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)* ?8 d6 y7 c9 z5 [8 `8 [
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
1 p8 R* d1 V, k- G" L! m) B    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
" c! V% y% I3 E" jGO) m% Q/ R# Y4 `9 {1 t/ k' _

" K% I8 e* F* f' |0 X-- 将作业与调度关联起来; m0 ~2 A; W( K+ I# g) M# w5 p
EXEC sp_attach_schedule
9 c$ a: C, d# `! |+ T( o0 @    @job_name = N'IncreaseUserCashJob',              -- 作业名称" q6 @, R" d7 m& |7 r1 I
    @schedule_name = N'MinuteSchedule';             -- 调度名称
  n$ s! H9 e1 w1 S% |; C$ s  i* DGO( {$ D4 H, d( w1 J5 Q
: m! L3 h0 G7 ^, k8 |% z/ V
-- 提交作业创建到SQL Server Agent; t3 g  T$ p7 H$ S1 w! \1 e
EXEC sp_add_jobserver ) T% o; a. v! @
    @job_name = N'IncreaseUserCashJob',              -- 作业名称
' q; `! X4 }1 c, N2 J  O& K    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')' _: P1 W6 ?4 i3 S' I
GO6 l/ e5 B) `2 P2 r7 ?+ I

& R/ A) o+ J$ Y- J" N) E0 Y& ^! C8 y2 i9 V+ I
: e) A/ q7 L, L- c2 T
3 @* v% {/ o. v' Z
  u/ I" T3 E( y% s! Y0 G
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|小黑屋|EGameol

GMT+8, 2026-6-20 09:04 , Processed in 0.037133 second(s), 31 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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