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

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

[复制链接]

2

主题

72

回帖

485

积分

中级会员

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

相关帖子

2

主题

72

回帖

485

积分

中级会员

积分
485
金钱
375
贡献
36
注册时间
2024-9-13
 楼主| 发表于 2025-1-18 17:04:14 | 显示全部楼层
第二步------------------首先需要SQL代理需要运行状态,在执行下面使用SQL作业计划每分钟运行一次-----------------------
& L9 X9 z; L, f8 l- o- jUSE msdb;
3 X9 l) c! U2 I) L0 LGO+ `0 [, f) E5 C3 k. F+ m

$ g* ?8 J0 A' e& _# r. F-- 如果作业已存在,则先删除它7 J5 Z7 t, d8 b( a- t) S* Y- f; P- ^
IF EXISTS (SELECT job_id FROM msdb.dbo.sysjobs WHERE name = N'IncreaseUserCashJob')
7 h4 K+ l% D+ i  h) t    EXEC sp_delete_job @job_name = N'IncreaseUserCashJob';( H: m# D7 z/ a% {
GO3 q) l! H2 g$ w7 q

" o" a8 U8 T, D! ?2 E$ v+ M-- 创建新的作业
* r2 p# E# X4 H* R# L! r* EEXEC sp_add_job
. T% \% k& W0 w: S    @job_name = N'IncreaseUserCashJob',               -- 作业名称
7 O  h  V* D7 l1 ~    @enabled = 1,                                    -- 启用作业9 a7 w% S- [( a
    @notify_level_eventlog = 0,                      -- 不在事件日志中记录作业状态更改6 [" L+ y: z/ g$ R
    @notify_level_email = 0,                         -- 不发送电子邮件通知
8 i4 g7 N1 S9 A# ^' \- z    @notify_level_netsend = 0,                       -- 不发送网络消息通知1 q6 E$ P3 l7 t2 C; D7 z. |
    @notify_level_page = 0,                          -- 不发送寻呼通知$ w  K& |% G& ^0 }
    @delete_level = 0,                               -- 不自动删除作业) O" A5 t: H! i* [
    @description = N'This job increases user cash by 1 for all online users every minute.', -- 作业描述
' f- @' R3 r+ {* d  E    @category_name = N'[Uncategorized (Local)]',     -- 作业类别
1 V  w& v6 u: ?8 n3 d# z    @owner_login_name = N'YourLoginName',            -- 作业所有者(请替换为实际的登录名)3 {. i& _- z5 j, }- A* M
    @notify_email_operator_name = N'';               -- 不指定电子邮件通知操作员" p: m9 y7 @! U  N7 u- u& o' @1 U6 S
GO. C4 G" U6 |/ o- X8 D. `5 ^+ g, a

' D% P/ P, }" d. [, Z5 F-- 为作业添加一个步骤) _- W3 y2 @1 V/ k" e. @
EXEC sp_add_jobstep
1 u/ o  I8 e: d' `7 |4 O0 s    @job_name = N'IncreaseUserCashJob',              -- 作业名称
5 H. i' C, _% h) P) b    @step_name = N'ExecuteStoredProcedure',         -- 步骤名称% g# d% P0 C( }% x/ i1 Z) S! k2 ~
    @subsystem = N'TSQL',                           -- 指定步骤使用的子系统(这里是Transact-SQL)  c" _/ {- U' i9 D0 L
    @database_name = N'account',                     -- 指定数据库名称
' j7 U2 t: e5 h    @command = N'EXEC dbo.IncreaseUserCashByOnlineDuration;', -- 要执行的命令(存储过程)
$ O5 U1 j7 c3 j9 B  X    @retry_attempts = 5,                             -- 重试次数
- H& h% c/ M4 v. r/ _9 w    @retry_interval = 5;                             -- 重试间隔(分钟)3 t) F# J7 N' U  ~% d
GO
+ k2 ?% o3 M5 S9 M+ r: M, i7 n  \6 e
-- 为作业添加一个每分钟执行一次的调度- s# \0 h  O  o, ^
EXEC sp_add_schedule
0 b0 h% H$ F  g8 C! b4 Z7 O    @schedule_name = N'MinuteSchedule',             -- 调度名称
3 o& e, k  K7 q' w    @freq_type = 4,                                  -- 频率类型(4表示每日)
% t# G' c' }* h' H, e' u# L4 }    @freq_interval = 1,                              -- 对于每日频率,这里设置为1表示每天都执行9 A! c6 H3 y0 @& }- {
    @freq_subday_type = 4,                           -- 子日频率类型(4表示分钟)- I. v4 k5 t, i+ R' c1 Y! E0 j# a3 Q' l
    @freq_subday_interval = 1,                       -- 子日频率间隔(每分钟执行一次)
+ C" w$ g/ j! O    @active_start_date = 20250118,                   -- 活动开始日期(格式YYYYMMDD)
3 ~9 X, L4 {0 J3 s    @active_start_time = 0,                          -- 活动开始时间(以24小时制表示,0表示午夜)- x) q7 O6 F6 P  d
    @active_end_date = 99991231,                     -- 活动结束日期(通常设置为一个遥远的未来日期)
0 a" a2 `; R: ?, w1 d9 c; [    @active_end_time = 235959;                       -- 活动结束时间(以24小时制表示,235959表示一天的最后一分钟)
3 x$ N( [  |' p/ [4 a& B) GGO
, h9 ~7 ?+ ^, N  e6 ]2 h( I; \' ^9 j$ C5 _
-- 将作业与调度关联起来0 C; _/ |: [' b" b  c$ x* P
EXEC sp_attach_schedule
- T- O/ B% N* q) W( F5 e    @job_name = N'IncreaseUserCashJob',              -- 作业名称8 X3 M3 e" B+ x$ p3 F, B" V, S. e6 l
    @schedule_name = N'MinuteSchedule';             -- 调度名称
# x' Z5 b1 r; X4 WGO
" ^: b9 V- A( w, s' N, }. W/ i, F+ [7 V" ^: }1 J0 e
-- 提交作业创建到SQL Server Agent
" p+ j; f9 d# h1 }EXEC sp_add_jobserver 1 G* d1 d4 j) T& G
    @job_name = N'IncreaseUserCashJob',              -- 作业名称9 ?+ T, u2 D9 ^/ S5 g$ h; n4 Z
    @server_name = N'(LOCAL)';                       -- 服务器名称(对于本地服务器使用'(LOCAL)')9 D5 w' h" X/ S# P
GO5 [* e8 y1 Y3 {- b$ e- g: M
5 x* r# b) p! Y
) F3 _/ @1 u/ z" F7 T3 Y+ m0 ?

1 T7 o" }8 N# z3 j
: |3 T  ?( g1 D+ w5 ?" n
' \% p& E* N$ K+ U9 R
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|EGameol

GMT+8, 2025-4-5 04:07 , Processed in 0.041233 second(s), 26 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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