Deployed 30b0201 to 5.4 with MkDocs 1.1.2 and mike 1.0.0
[GitHub/WoltLab/woltlab.github.io.git] / 5.4 / php / api / cronjobs / index.html
CommitLineData
45ca63d0
TD
1
2<!doctype html>
3<html lang="en" class="no-js">
4 <head>
5
6 <meta charset="utf-8">
7 <meta name="viewport" content="width=device-width,initial-scale=1">
8
9
10
11
fb962f09 12 <link rel="icon" href="../../../assets/default.favicon.ico">
a4835aa6 13 <meta name="generator" content="mkdocs-1.1.2, mkdocs-material-7.1.2">
45ca63d0
TD
14
15
16
17 <title>Cronjobs - WoltLab Suite Documentation</title>
18
19
20
a4835aa6 21 <link rel="stylesheet" href="../../../assets/stylesheets/main.6f955dcd.min.css">
45ca63d0
TD
22
23
fb962f09 24 <link rel="stylesheet" href="../../../assets/stylesheets/palette.ef6f36e2.min.css">
45ca63d0
TD
25
26
27
28 <meta name="theme-color" content="#009485">
29
30
31
32
33
fd8430cb
WG
34
35
45ca63d0
TD
36
37
38 <link rel="stylesheet" href="../../../stylesheets/extra.css">
39
40
41
42
43
44 </head>
45
46
47
48
49
50
51
52 <body dir="ltr" data-md-color-scheme="" data-md-color-primary="teal" data-md-color-accent="">
45ca63d0
TD
53
54
fb962f09
WG
55 <script>function __prefix(e){return new URL("../../..",location).pathname+"."+e}function __get(e,t=localStorage){return JSON.parse(t.getItem(__prefix(e)))}</script>
56
45ca63d0
TD
57 <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
58 <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
59 <label class="md-overlay" for="__drawer"></label>
60 <div data-md-component="skip">
61
62
63 <a href="#cronjobs" class="md-skip">
64 Skip to content
65 </a>
66
67 </div>
68 <div data-md-component="announce">
69
70 <aside class="md-announce">
71 <div class="md-announce__inner md-grid md-typeset">
72
73 <a href="https://www.woltlab.com">Back to <strong>woltlab.com</strong></a>
74
75 </div>
76 </aside>
77
78 </div>
79
fb962f09 80 <header class="md-header" data-md-component="header">
45ca63d0 81 <nav class="md-header__inner md-grid" aria-label="Header">
fb962f09 82 <a href="../../.." title="WoltLab Suite Documentation" class="md-header__button md-logo" aria-label="WoltLab Suite Documentation" data-md-component="logo">
45ca63d0
TD
83
84 <img src="../../../assets/logo.png" alt="logo">
85
86 </a>
87 <label class="md-header__button md-icon" for="__drawer">
88 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2z"/></svg>
89 </label>
90 <div class="md-header__title" data-md-component="header-title">
91 <div class="md-header__ellipsis">
92 <div class="md-header__topic">
93 <span class="md-ellipsis">
94 WoltLab Suite Documentation
95 </span>
96 </div>
97 <div class="md-header__topic" data-md-component="header-topic">
98 <span class="md-ellipsis">
99
100 Cronjobs
101
102 </span>
103 </div>
104 </div>
45ca63d0
TD
105 </div>
106
fb962f09
WG
107
108
a3639e76
WG
109 <label class="md-header__button md-icon" for="__search">
110 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
111 </label>
112
113<div class="md-search" data-md-component="search" role="dialog">
114 <label class="md-search__overlay" for="__search"></label>
115 <div class="md-search__inner" role="search">
116 <form class="md-search__form" name="search">
117 <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" data-md-state="active" required>
118 <label class="md-search__icon md-icon" for="__search">
119 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
120 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
121 </label>
122 <button type="reset" class="md-search__icon md-icon" aria-label="Clear" tabindex="-1">
fb962f09 123 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"/></svg>
a3639e76
WG
124 </button>
125 </form>
126 <div class="md-search__output">
127 <div class="md-search__scrollwrap" data-md-scrollfix>
128 <div class="md-search-result" data-md-component="search-result">
129 <div class="md-search-result__meta">
130 Initializing search
131 </div>
132 <ol class="md-search-result__list"></ol>
133 </div>
134 </div>
135 </div>
136 </div>
137</div>
138
45ca63d0 139
7124f4cb
WG
140 <div class="md-header__source">
141
142<a href="https://github.com/WoltLab/docs.woltlab.com/" title="Go to repository" class="md-source" data-md-component="source">
143 <div class="md-source__icon md-icon">
144
fb962f09 145 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
7124f4cb
WG
146 </div>
147 <div class="md-source__repository">
148 GitHub
149 </div>
150</a>
151 </div>
152
45ca63d0
TD
153 </nav>
154</header>
155
156 <div class="md-container" data-md-component="container">
157
158
159
160
161 <main class="md-main" data-md-component="main">
162 <div class="md-main__inner md-grid">
163
164
165
166 <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
167 <div class="md-sidebar__scrollwrap">
168 <div class="md-sidebar__inner">
169
170
171
45ca63d0
TD
172<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
173 <label class="md-nav__title" for="__drawer">
fb962f09 174 <a href="../../.." title="WoltLab Suite Documentation" class="md-nav__button md-logo" aria-label="WoltLab Suite Documentation" data-md-component="logo">
45ca63d0
TD
175
176 <img src="../../../assets/logo.png" alt="logo">
177
178 </a>
179 WoltLab Suite Documentation
180 </label>
181
7124f4cb
WG
182 <div class="md-nav__source">
183
184<a href="https://github.com/WoltLab/docs.woltlab.com/" title="Go to repository" class="md-source" data-md-component="source">
185 <div class="md-source__icon md-icon">
186
fb962f09 187 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
7124f4cb
WG
188 </div>
189 <div class="md-source__repository">
190 GitHub
191 </div>
192</a>
193 </div>
194
45ca63d0
TD
195 <ul class="md-nav__list" data-md-scrollfix>
196
197
198
199
200
201
202
203
204 <li class="md-nav__item">
205 <a href="../../../getting-started/" class="md-nav__link">
206 Getting Started
207 </a>
208 </li>
209
210
211
212
213
214
215
216
217
218
219
220
221
222 <li class="md-nav__item md-nav__item--active md-nav__item--nested">
223
224
225 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2" type="checkbox" id="__nav_2" checked>
226
227 <label class="md-nav__link" for="__nav_2">
228 PHP API
229 <span class="md-nav__icon md-icon"></span>
230 </label>
231 <nav class="md-nav" aria-label="PHP API" data-md-level="1">
232 <label class="md-nav__title" for="__nav_2">
233 <span class="md-nav__icon md-icon"></span>
234 PHP API
235 </label>
236 <ul class="md-nav__list" data-md-scrollfix>
237
238
239
240
241
242 <li class="md-nav__item">
243 <a href="../../pages/" class="md-nav__link">
244 Pages
245 </a>
246 </li>
247
248
249
250
251
252
253
254 <li class="md-nav__item">
255 <a href="../../database-objects/" class="md-nav__link">
256 Database Objects
257 </a>
258 </li>
259
260
261
262
263
264
265
266 <li class="md-nav__item">
267 <a href="../../database-access/" class="md-nav__link">
268 Database Access
269 </a>
270 </li>
271
272
273
274
275
276
277
278 <li class="md-nav__item">
279 <a href="../../exceptions/" class="md-nav__link">
280 Exceptions
281 </a>
282 </li>
283
284
285
286
287
288
289
290
291
292
293 <li class="md-nav__item md-nav__item--active md-nav__item--nested">
294
295
296 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_5" type="checkbox" id="__nav_2_5" checked>
297
298 <label class="md-nav__link" for="__nav_2_5">
299 API
300 <span class="md-nav__icon md-icon"></span>
301 </label>
302 <nav class="md-nav" aria-label="API" data-md-level="2">
303 <label class="md-nav__title" for="__nav_2_5">
304 <span class="md-nav__icon md-icon"></span>
305 API
306 </label>
307 <ul class="md-nav__list" data-md-scrollfix>
308
309
310
311
312
6923e968
WG
313
314 <li class="md-nav__item md-nav__item--nested">
315
316
317 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_5_1" type="checkbox" id="__nav_2_5_1" >
318
319 <label class="md-nav__link" for="__nav_2_5_1">
320 Caches
321 <span class="md-nav__icon md-icon"></span>
322 </label>
323 <nav class="md-nav" aria-label="Caches" data-md-level="3">
324 <label class="md-nav__title" for="__nav_2_5_1">
325 <span class="md-nav__icon md-icon"></span>
326 Caches
327 </label>
328 <ul class="md-nav__list" data-md-scrollfix>
329
330
331
332
333
45ca63d0
TD
334 <li class="md-nav__item">
335 <a href="../caches/" class="md-nav__link">
6923e968
WG
336 Overview
337 </a>
338 </li>
339
340
341
342
343
344
345
346 <li class="md-nav__item">
347 <a href="../caches_persistent-caches/" class="md-nav__link">
348 Persistent Caches
349 </a>
350 </li>
351
352
353
354
355
356
357
358 <li class="md-nav__item">
359 <a href="../caches_runtime-caches/" class="md-nav__link">
360 Runtime Caches
45ca63d0
TD
361 </a>
362 </li>
363
364
365
6923e968
WG
366 </ul>
367 </nav>
368 </li>
369
370
371
45ca63d0
TD
372
373
374
375
376 <li class="md-nav__item">
377 <a href="../comments/" class="md-nav__link">
378 Comments
379 </a>
380 </li>
381
382
383
384
385
386
387
388
389
390 <li class="md-nav__item md-nav__item--active">
391
392 <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
393
a4835aa6 394
45ca63d0
TD
395
396
397
398 <label class="md-nav__link md-nav__link--active" for="__toc">
399 Cronjobs
400 <span class="md-nav__icon md-icon"></span>
401 </label>
402
403 <a href="./" class="md-nav__link md-nav__link--active">
404 Cronjobs
405 </a>
406
407
408<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
409
410
a4835aa6 411
45ca63d0
TD
412
413
414
415 <label class="md-nav__title" for="__toc">
416 <span class="md-nav__icon md-icon"></span>
417 Table of contents
418 </label>
419 <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
420
421 <li class="md-nav__item">
422 <a href="#example" class="md-nav__link">
423 Example
424 </a>
425
426</li>
427
428 <li class="md-nav__item">
429 <a href="#icronjob-interface" class="md-nav__link">
430 ICronjob Interface
431 </a>
432
433</li>
434
435 <li class="md-nav__item">
436 <a href="#executing-cronjobs-through-cli" class="md-nav__link">
437 Executing Cronjobs Through CLI
438 </a>
439
440</li>
441
442 </ul>
443
444</nav>
445
446 </li>
447
448
449
450
451
452
453
454 <li class="md-nav__item">
455 <a href="../events/" class="md-nav__link">
456 Events
457 </a>
458 </li>
459
460
461
462
463
464
465
466
467 <li class="md-nav__item md-nav__item--nested">
468
469
470 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_5_5" type="checkbox" id="__nav_2_5_5" >
471
472 <label class="md-nav__link" for="__nav_2_5_5">
473 Form Builder
474 <span class="md-nav__icon md-icon"></span>
475 </label>
476 <nav class="md-nav" aria-label="Form Builder" data-md-level="3">
477 <label class="md-nav__title" for="__nav_2_5_5">
478 <span class="md-nav__icon md-icon"></span>
479 Form Builder
480 </label>
481 <ul class="md-nav__list" data-md-scrollfix>
482
483
484
485
486
487 <li class="md-nav__item">
488 <a href="../form_builder/overview/" class="md-nav__link">
489 Overview
490 </a>
491 </li>
492
493
494
495
496
497
498
499 <li class="md-nav__item">
500 <a href="../form_builder/structure/" class="md-nav__link">
501 Structure
502 </a>
503 </li>
504
505
506
507
508
509
510
511 <li class="md-nav__item">
512 <a href="../form_builder/form_fields/" class="md-nav__link">
513 Fields
514 </a>
515 </li>
516
517
518
519
520
521
522
523 <li class="md-nav__item">
524 <a href="../form_builder/validation_data/" class="md-nav__link">
525 Validation and Data
526 </a>
527 </li>
528
529
530
531
532
533
534
535 <li class="md-nav__item">
536 <a href="../form_builder/dependencies/" class="md-nav__link">
537 Dependencies
538 </a>
539 </li>
540
541
542
543 </ul>
544 </nav>
545 </li>
546
547
548
549
550
551
552
553 <li class="md-nav__item">
554 <a href="../package_installation_plugins/" class="md-nav__link">
555 Package Installation Plugins
556 </a>
557 </li>
558
559
560
561
562
563
564
565 <li class="md-nav__item">
566 <a href="../user_activity_points/" class="md-nav__link">
567 User Activity Points
568 </a>
569 </li>
570
571
572
573
574
575
576
577 <li class="md-nav__item">
578 <a href="../user_notifications/" class="md-nav__link">
579 User Notifications
580 </a>
581 </li>
582
583
584
585
586
587
588
589 <li class="md-nav__item">
590 <a href="../sitemaps/" class="md-nav__link">
591 Sitemaps
592 </a>
593 </li>
594
595
596
597 </ul>
598 </nav>
599 </li>
600
601
602
603
604
605
606
607 <li class="md-nav__item">
608 <a href="../../code-style/" class="md-nav__link">
609 Code Style
610 </a>
611 </li>
612
613
614
615
616
617
618
619 <li class="md-nav__item">
620 <a href="../../apps/" class="md-nav__link">
621 Apps
622 </a>
623 </li>
624
625
626
627
628
629
630
631 <li class="md-nav__item">
632 <a href="../../gdpr/" class="md-nav__link">
633 GDPR
634 </a>
635 </li>
636
637
638
639 </ul>
640 </nav>
641 </li>
642
643
644
645
646
647
648
649
650
651
652
653 <li class="md-nav__item md-nav__item--nested">
654
655
656 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3" type="checkbox" id="__nav_3" >
657
658 <label class="md-nav__link" for="__nav_3">
659 Languages, Templates & CSS
660 <span class="md-nav__icon md-icon"></span>
661 </label>
662 <nav class="md-nav" aria-label="Languages, Templates & CSS" data-md-level="1">
663 <label class="md-nav__title" for="__nav_3">
664 <span class="md-nav__icon md-icon"></span>
665 Languages, Templates & CSS
666 </label>
667 <ul class="md-nav__list" data-md-scrollfix>
668
669
670
671
672
673 <li class="md-nav__item">
674 <a href="../../../view/languages/" class="md-nav__link">
675 Languages
676 </a>
677 </li>
678
679
680
681
682
683
684
685 <li class="md-nav__item">
686 <a href="../../../view/templates/" class="md-nav__link">
687 Templates
688 </a>
689 </li>
690
691
692
693
694
695
696
6923e968
WG
697 <li class="md-nav__item">
698 <a href="../../../view/template-plugins/" class="md-nav__link">
699 Template Plugins
700 </a>
701 </li>
702
703
704
705
706
707
708
45ca63d0
TD
709 <li class="md-nav__item">
710 <a href="../../../view/css/" class="md-nav__link">
711 CSS
712 </a>
713 </li>
714
715
716
717 </ul>
718 </nav>
719 </li>
720
721
722
723
724
725
726
727
728
729
730
731 <li class="md-nav__item md-nav__item--nested">
732
733
734 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4" type="checkbox" id="__nav_4" >
735
736 <label class="md-nav__link" for="__nav_4">
77efcd46 737 TypeScript and JavaScript API
45ca63d0
TD
738 <span class="md-nav__icon md-icon"></span>
739 </label>
77efcd46 740 <nav class="md-nav" aria-label="TypeScript and JavaScript API" data-md-level="1">
45ca63d0
TD
741 <label class="md-nav__title" for="__nav_4">
742 <span class="md-nav__icon md-icon"></span>
77efcd46 743 TypeScript and JavaScript API
45ca63d0
TD
744 </label>
745 <ul class="md-nav__list" data-md-scrollfix>
746
747
748
749
750
751 <li class="md-nav__item">
752 <a href="../../../javascript/general-usage/" class="md-nav__link">
753 General Usage
754 </a>
755 </li>
756
757
758
759
760
761
762
77efcd46
WG
763 <li class="md-nav__item">
764 <a href="../../../javascript/typescript/" class="md-nav__link">
765 TypeScript
766 </a>
767 </li>
768
769
770
771
772
773
774
45ca63d0
TD
775
776 <li class="md-nav__item md-nav__item--nested">
777
778
77efcd46 779 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4_3" type="checkbox" id="__nav_4_3" >
45ca63d0 780
77efcd46 781 <label class="md-nav__link" for="__nav_4_3">
45ca63d0
TD
782 New API
783 <span class="md-nav__icon md-icon"></span>
784 </label>
785 <nav class="md-nav" aria-label="New API" data-md-level="2">
77efcd46 786 <label class="md-nav__title" for="__nav_4_3">
45ca63d0
TD
787 <span class="md-nav__icon md-icon"></span>
788 New API
789 </label>
790 <ul class="md-nav__list" data-md-scrollfix>
791
792
793
794
795
796 <li class="md-nav__item">
797 <a href="../../../javascript/new-api_writing-a-module/" class="md-nav__link">
798 Writing a module
799 </a>
800 </li>
801
802
803
804
805
806
807
808 <li class="md-nav__item">
809 <a href="../../../javascript/new-api_data-structures/" class="md-nav__link">
810 Data Structures
811 </a>
812 </li>
813
814
815
816
817
818
819
820 <li class="md-nav__item">
821 <a href="../../../javascript/new-api_core/" class="md-nav__link">
822 Core Functions
823 </a>
824 </li>
825
826
827
828
829
830
831
832 <li class="md-nav__item">
833 <a href="../../../javascript/new-api_dom/" class="md-nav__link">
834 DOM
835 </a>
836 </li>
837
838
839
840
841
842
843
844 <li class="md-nav__item">
845 <a href="../../../javascript/new-api_events/" class="md-nav__link">
846 Event Handling
847 </a>
848 </li>
849
850
851
852
853
854
855
856 <li class="md-nav__item">
857 <a href="../../../javascript/new-api_ajax/" class="md-nav__link">
858 Ajax
859 </a>
860 </li>
861
862
863
864
865
866
867
868 <li class="md-nav__item">
869 <a href="../../../javascript/new-api_dialogs/" class="md-nav__link">
870 Dialogs
871 </a>
872 </li>
873
874
875
876
877
878
879
880 <li class="md-nav__item">
881 <a href="../../../javascript/new-api_browser/" class="md-nav__link">
882 Browser and Screen Sizes
883 </a>
884 </li>
885
886
887
888
889
890
891
892 <li class="md-nav__item">
893 <a href="../../../javascript/new-api_ui/" class="md-nav__link">
894 User Interface
895 </a>
896 </li>
897
898
899
900 </ul>
901 </nav>
902 </li>
903
904
905
906
907
908
909
910 <li class="md-nav__item">
911 <a href="../../../javascript/legacy-api/" class="md-nav__link">
912 Legacy API
913 </a>
914 </li>
915
916
917
918
919
920
921
922 <li class="md-nav__item">
923 <a href="../../../javascript/helper-functions/" class="md-nav__link">
924 Helper Functions
925 </a>
926 </li>
927
928
929
930
931
932
933
934 <li class="md-nav__item">
935 <a href="../../../javascript/code-snippets/" class="md-nav__link">
936 Code Snippets
937 </a>
938 </li>
939
940
941
942 </ul>
943 </nav>
944 </li>
945
946
947
948
949
950
951
952
953
954
955
956 <li class="md-nav__item md-nav__item--nested">
957
958
959 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5" type="checkbox" id="__nav_5" >
960
961 <label class="md-nav__link" for="__nav_5">
962 Package Components
963 <span class="md-nav__icon md-icon"></span>
964 </label>
965 <nav class="md-nav" aria-label="Package Components" data-md-level="1">
966 <label class="md-nav__title" for="__nav_5">
967 <span class="md-nav__icon md-icon"></span>
968 Package Components
969 </label>
970 <ul class="md-nav__list" data-md-scrollfix>
971
972
973
974
975
976 <li class="md-nav__item">
977 <a href="../../../package/package-xml/" class="md-nav__link">
978 package.xml
979 </a>
980 </li>
981
982
983
984
985
986
987
988
989 <li class="md-nav__item md-nav__item--nested">
990
991
992 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5_2" type="checkbox" id="__nav_5_2" >
993
994 <label class="md-nav__link" for="__nav_5_2">
995 PIPs
996 <span class="md-nav__icon md-icon"></span>
997 </label>
998 <nav class="md-nav" aria-label="PIPs" data-md-level="2">
999 <label class="md-nav__title" for="__nav_5_2">
1000 <span class="md-nav__icon md-icon"></span>
1001 PIPs
1002 </label>
1003 <ul class="md-nav__list" data-md-scrollfix>
1004
1005
1006
1007
1008
1009 <li class="md-nav__item">
1010 <a href="../../../package/pip/" class="md-nav__link">
1011 Overview
1012 </a>
1013 </li>
1014
1015
1016
1017
1018
1019
1020
1021 <li class="md-nav__item">
1022 <a href="../../../package/pip/acl-option/" class="md-nav__link">
1023 aclOption
1024 </a>
1025 </li>
1026
1027
1028
1029
1030
1031
1032
1033 <li class="md-nav__item">
1034 <a href="../../../package/pip/acp-menu/" class="md-nav__link">
1035 acpMenu
1036 </a>
1037 </li>
1038
1039
1040
1041
1042
1043
1044
1045 <li class="md-nav__item">
1046 <a href="../../../package/pip/acp-search-provider/" class="md-nav__link">
1047 acpSearchProvider
1048 </a>
1049 </li>
1050
1051
1052
1053
1054
1055
1056
1057 <li class="md-nav__item">
1058 <a href="../../../package/pip/acp-template/" class="md-nav__link">
1059 acpTemplate
1060 </a>
1061 </li>
1062
1063
1064
1065
1066
1067
1068
1069 <li class="md-nav__item">
1070 <a href="../../../package/pip/bbcode/" class="md-nav__link">
1071 bbcode
1072 </a>
1073 </li>
1074
1075
1076
1077
1078
1079
1080
1081 <li class="md-nav__item">
1082 <a href="../../../package/pip/box/" class="md-nav__link">
1083 box
1084 </a>
1085 </li>
1086
1087
1088
1089
1090
1091
1092
1093 <li class="md-nav__item">
1094 <a href="../../../package/pip/clipboard-action/" class="md-nav__link">
1095 clipboardAction
1096 </a>
1097 </li>
1098
1099
1100
1101
1102
1103
1104
1105 <li class="md-nav__item">
1106 <a href="../../../package/pip/core-object/" class="md-nav__link">
1107 coreObject
1108 </a>
1109 </li>
1110
1111
1112
1113
1114
1115
1116
1117 <li class="md-nav__item">
1118 <a href="../../../package/pip/cronjob/" class="md-nav__link">
1119 cronjob
1120 </a>
1121 </li>
1122
1123
1124
1125
1126
1127
1128
6923e968
WG
1129 <li class="md-nav__item">
1130 <a href="../../../package/pip/database/" class="md-nav__link">
1131 database
1132 </a>
1133 </li>
1134
1135
1136
1137
1138
1139
1140
45ca63d0
TD
1141 <li class="md-nav__item">
1142 <a href="../../../package/pip/event-listener/" class="md-nav__link">
1143 eventListener
1144 </a>
1145 </li>
1146
1147
1148
1149
1150
1151
1152
1153 <li class="md-nav__item">
1154 <a href="../../../package/pip/file/" class="md-nav__link">
1155 file
1156 </a>
1157 </li>
1158
1159
1160
1161
1162
1163
1164
1165 <li class="md-nav__item">
1166 <a href="../../../package/pip/language/" class="md-nav__link">
1167 language
1168 </a>
1169 </li>
1170
1171
1172
1173
1174
1175
1176
1177 <li class="md-nav__item">
1178 <a href="../../../package/pip/media-provider/" class="md-nav__link">
1179 mediaProvider
1180 </a>
1181 </li>
1182
1183
1184
1185
1186
1187
1188
1189 <li class="md-nav__item">
1190 <a href="../../../package/pip/menu/" class="md-nav__link">
1191 menu
1192 </a>
1193 </li>
1194
1195
1196
1197
1198
1199
1200
1201 <li class="md-nav__item">
1202 <a href="../../../package/pip/menu-item/" class="md-nav__link">
1203 menuItem
1204 </a>
1205 </li>
1206
1207
1208
1209
1210
1211
1212
1213 <li class="md-nav__item">
1214 <a href="../../../package/pip/object-type/" class="md-nav__link">
1215 objectType
1216 </a>
1217 </li>
1218
1219
1220
1221
1222
1223
1224
1225 <li class="md-nav__item">
1226 <a href="../../../package/pip/object-type-definition/" class="md-nav__link">
1227 objectTypeDefinition
1228 </a>
1229 </li>
1230
1231
1232
1233
1234
1235
1236
1237 <li class="md-nav__item">
1238 <a href="../../../package/pip/option/" class="md-nav__link">
1239 option
1240 </a>
1241 </li>
1242
1243
1244
1245
1246
1247
1248
1249 <li class="md-nav__item">
1250 <a href="../../../package/pip/page/" class="md-nav__link">
1251 page
1252 </a>
1253 </li>
1254
1255
1256
1257
1258
1259
1260
1261 <li class="md-nav__item">
1262 <a href="../../../package/pip/pip/" class="md-nav__link">
1263 pip
1264 </a>
1265 </li>
1266
1267
1268
1269
1270
1271
1272
1273 <li class="md-nav__item">
1274 <a href="../../../package/pip/script/" class="md-nav__link">
1275 script
1276 </a>
1277 </li>
1278
1279
1280
1281
1282
1283
1284
1285 <li class="md-nav__item">
1286 <a href="../../../package/pip/smiley/" class="md-nav__link">
1287 smiley
1288 </a>
1289 </li>
1290
1291
1292
1293
1294
1295
1296
1297 <li class="md-nav__item">
1298 <a href="../../../package/pip/sql/" class="md-nav__link">
1299 sql
1300 </a>
1301 </li>
1302
1303
1304
1305
1306
1307
1308
1309 <li class="md-nav__item">
1310 <a href="../../../package/pip/style/" class="md-nav__link">
1311 style
1312 </a>
1313 </li>
1314
1315
1316
1317
1318
1319
1320
1321 <li class="md-nav__item">
1322 <a href="../../../package/pip/template/" class="md-nav__link">
1323 template
1324 </a>
1325 </li>
1326
1327
1328
1329
1330
1331
1332
1333 <li class="md-nav__item">
1334 <a href="../../../package/pip/template-listener/" class="md-nav__link">
1335 templateListener
1336 </a>
1337 </li>
1338
1339
1340
1341
1342
1343
1344
1345 <li class="md-nav__item">
1346 <a href="../../../package/pip/user-group-option/" class="md-nav__link">
1347 userGroupOption
1348 </a>
1349 </li>
1350
1351
1352
1353
1354
1355
1356
1357 <li class="md-nav__item">
1358 <a href="../../../package/pip/user-menu/" class="md-nav__link">
1359 userMenu
1360 </a>
1361 </li>
1362
1363
1364
1365
1366
1367
1368
1369 <li class="md-nav__item">
1370 <a href="../../../package/pip/user-notification-event/" class="md-nav__link">
1371 userNotificationEvent
1372 </a>
1373 </li>
1374
1375
1376
1377
1378
1379
1380
1381 <li class="md-nav__item">
1382 <a href="../../../package/pip/user-option/" class="md-nav__link">
1383 userOption
1384 </a>
1385 </li>
1386
1387
1388
1389
1390
1391
1392
1393 <li class="md-nav__item">
1394 <a href="../../../package/pip/user-profile-menu/" class="md-nav__link">
1395 userProfileMenu
1396 </a>
1397 </li>
1398
1399
1400
1401 </ul>
1402 </nav>
1403 </li>
1404
1405
1406
1407
1408
1409
1410
1411 <li class="md-nav__item">
1412 <a href="../../../package/database-php-api/" class="md-nav__link">
1413 Database PHP API
1414 </a>
1415 </li>
1416
1417
1418
1419 </ul>
1420 </nav>
1421 </li>
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433 <li class="md-nav__item md-nav__item--nested">
1434
1435
1436 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6" type="checkbox" id="__nav_6" >
1437
1438 <label class="md-nav__link" for="__nav_6">
1439 Migration
1440 <span class="md-nav__icon md-icon"></span>
1441 </label>
1442 <nav class="md-nav" aria-label="Migration" data-md-level="1">
1443 <label class="md-nav__title" for="__nav_6">
1444 <span class="md-nav__icon md-icon"></span>
1445 Migration
1446 </label>
1447 <ul class="md-nav__list" data-md-scrollfix>
1448
1449
1450
1451
1452
1453
1454 <li class="md-nav__item md-nav__item--nested">
1455
1456
1457 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_1" type="checkbox" id="__nav_6_1" >
1458
1459 <label class="md-nav__link" for="__nav_6_1">
1460 Migrating from WSC 5.3
1461 <span class="md-nav__icon md-icon"></span>
1462 </label>
1463 <nav class="md-nav" aria-label="Migrating from WSC 5.3" data-md-level="2">
1464 <label class="md-nav__title" for="__nav_6_1">
1465 <span class="md-nav__icon md-icon"></span>
1466 Migrating from WSC 5.3
1467 </label>
1468 <ul class="md-nav__list" data-md-scrollfix>
1469
1470
1471
1472
1473
1474 <li class="md-nav__item">
1475 <a href="../../../migration/wsc53/php/" class="md-nav__link">
1476 PHP API
1477 </a>
1478 </li>
1479
1480
1481
1482
1483
1484
1485
1486 <li class="md-nav__item">
1487 <a href="../../../migration/wsc53/session/" class="md-nav__link">
1488 Session Handling and Authentication
1489 </a>
1490 </li>
1491
1492
1493
1494
1495
1496
1497
1498 <li class="md-nav__item">
1499 <a href="../../../migration/wsc53/javascript/" class="md-nav__link">
77efcd46 1500 TypeScript and JavaScript
45ca63d0
TD
1501 </a>
1502 </li>
1503
1504
1505
1506
1507
1508
1509
1510 <li class="md-nav__item">
1511 <a href="../../../migration/wsc53/templates/" class="md-nav__link">
1512 Templates
1513 </a>
1514 </li>
1515
1516
1517
1518
1519
1520
1521
1522 <li class="md-nav__item">
1523 <a href="../../../migration/wsc53/libraries/" class="md-nav__link">
1524 Third Party Libraries
1525 </a>
1526 </li>
1527
1528
1529
1530 </ul>
1531 </nav>
1532 </li>
1533
1534
1535
1536
1537
1538
1539
1540
1541 <li class="md-nav__item md-nav__item--nested">
1542
1543
1544 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_2" type="checkbox" id="__nav_6_2" >
1545
1546 <label class="md-nav__link" for="__nav_6_2">
1547 Migrating from WSC 5.2
1548 <span class="md-nav__icon md-icon"></span>
1549 </label>
1550 <nav class="md-nav" aria-label="Migrating from WSC 5.2" data-md-level="2">
1551 <label class="md-nav__title" for="__nav_6_2">
1552 <span class="md-nav__icon md-icon"></span>
1553 Migrating from WSC 5.2
1554 </label>
1555 <ul class="md-nav__list" data-md-scrollfix>
1556
1557
1558
1559
1560
1561 <li class="md-nav__item">
1562 <a href="../../../migration/wsc52/php/" class="md-nav__link">
1563 PHP API
1564 </a>
1565 </li>
1566
1567
1568
1569
1570
1571
1572
1573 <li class="md-nav__item">
1574 <a href="../../../migration/wsc52/templates/" class="md-nav__link">
1575 Templates and Languages
1576 </a>
1577 </li>
1578
1579
1580
1581
1582
1583
1584
1585 <li class="md-nav__item">
1586 <a href="../../../migration/wsc52/libraries/" class="md-nav__link">
1587 Third Party Libraries
1588 </a>
1589 </li>
1590
1591
1592
1593 </ul>
1594 </nav>
1595 </li>
1596
1597
1598
1599
1600
1601
1602
1603
1604 <li class="md-nav__item md-nav__item--nested">
1605
1606
1607 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_3" type="checkbox" id="__nav_6_3" >
1608
1609 <label class="md-nav__link" for="__nav_6_3">
1610 Migrating from WSC 3.1
1611 <span class="md-nav__icon md-icon"></span>
1612 </label>
1613 <nav class="md-nav" aria-label="Migrating from WSC 3.1" data-md-level="2">
1614 <label class="md-nav__title" for="__nav_6_3">
1615 <span class="md-nav__icon md-icon"></span>
1616 Migrating from WSC 3.1
1617 </label>
1618 <ul class="md-nav__list" data-md-scrollfix>
1619
1620
1621
1622
1623
1624 <li class="md-nav__item">
1625 <a href="../../../migration/wsc31/php/" class="md-nav__link">
1626 PHP API
1627 </a>
1628 </li>
1629
1630
1631
1632 </ul>
1633 </nav>
1634 </li>
1635
1636
1637
1638
1639
1640
1641
1642
1643 <li class="md-nav__item md-nav__item--nested">
1644
1645
1646 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_4" type="checkbox" id="__nav_6_4" >
1647
1648 <label class="md-nav__link" for="__nav_6_4">
1649 Migrating from WSC 3.0
1650 <span class="md-nav__icon md-icon"></span>
1651 </label>
1652 <nav class="md-nav" aria-label="Migrating from WSC 3.0" data-md-level="2">
1653 <label class="md-nav__title" for="__nav_6_4">
1654 <span class="md-nav__icon md-icon"></span>
1655 Migrating from WSC 3.0
1656 </label>
1657 <ul class="md-nav__list" data-md-scrollfix>
1658
1659
1660
1661
1662
1663 <li class="md-nav__item">
1664 <a href="../../../migration/wsc30/php/" class="md-nav__link">
1665 PHP API
1666 </a>
1667 </li>
1668
1669
1670
1671
1672
1673
1674
1675 <li class="md-nav__item">
1676 <a href="../../../migration/wsc30/javascript/" class="md-nav__link">
1677 JavaScript API
1678 </a>
1679 </li>
1680
1681
1682
1683
1684
1685
1686
1687 <li class="md-nav__item">
1688 <a href="../../../migration/wsc30/templates/" class="md-nav__link">
1689 Templates
1690 </a>
1691 </li>
1692
1693
1694
1695
1696
1697
1698
1699 <li class="md-nav__item">
1700 <a href="../../../migration/wsc30/css/" class="md-nav__link">
1701 CSS
1702 </a>
1703 </li>
1704
1705
1706
1707
1708
1709
1710
1711 <li class="md-nav__item">
1712 <a href="../../../migration/wsc30/package/" class="md-nav__link">
1713 Package Components
1714 </a>
1715 </li>
1716
1717
1718
1719 </ul>
1720 </nav>
1721 </li>
1722
1723
1724
1725
1726
1727
1728
1729
1730 <li class="md-nav__item md-nav__item--nested">
1731
1732
1733 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_5" type="checkbox" id="__nav_6_5" >
1734
1735 <label class="md-nav__link" for="__nav_6_5">
1736 Migrating from WCF 2.1
1737 <span class="md-nav__icon md-icon"></span>
1738 </label>
1739 <nav class="md-nav" aria-label="Migrating from WCF 2.1" data-md-level="2">
1740 <label class="md-nav__title" for="__nav_6_5">
1741 <span class="md-nav__icon md-icon"></span>
1742 Migrating from WCF 2.1
1743 </label>
1744 <ul class="md-nav__list" data-md-scrollfix>
1745
1746
1747
1748
1749
1750 <li class="md-nav__item">
1751 <a href="../../../migration/wcf21/php/" class="md-nav__link">
1752 PHP API
1753 </a>
1754 </li>
1755
1756
1757
1758
1759
1760
1761
1762 <li class="md-nav__item">
1763 <a href="../../../migration/wcf21/templates/" class="md-nav__link">
1764 Templates
1765 </a>
1766 </li>
1767
1768
1769
1770
1771
1772
1773
1774 <li class="md-nav__item">
1775 <a href="../../../migration/wcf21/css/" class="md-nav__link">
1776 CSS
1777 </a>
1778 </li>
1779
1780
1781
1782
1783
1784
1785
1786 <li class="md-nav__item">
1787 <a href="../../../migration/wcf21/package/" class="md-nav__link">
1788 Package Components
1789 </a>
1790 </li>
1791
1792
1793
1794 </ul>
1795 </nav>
1796 </li>
1797
1798
1799
1800 </ul>
1801 </nav>
1802 </li>
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814 <li class="md-nav__item md-nav__item--nested">
1815
1816
1817 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7" type="checkbox" id="__nav_7" >
1818
1819 <label class="md-nav__link" for="__nav_7">
1820 Tutorials
1821 <span class="md-nav__icon md-icon"></span>
1822 </label>
1823 <nav class="md-nav" aria-label="Tutorials" data-md-level="1">
1824 <label class="md-nav__title" for="__nav_7">
1825 <span class="md-nav__icon md-icon"></span>
1826 Tutorials
1827 </label>
1828 <ul class="md-nav__list" data-md-scrollfix>
1829
1830
1831
1832
1833
1834
1835 <li class="md-nav__item md-nav__item--nested">
1836
1837
1838 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7_1" type="checkbox" id="__nav_7_1" >
1839
1840 <label class="md-nav__link" for="__nav_7_1">
1841 Tutorial Series
1842 <span class="md-nav__icon md-icon"></span>
1843 </label>
1844 <nav class="md-nav" aria-label="Tutorial Series" data-md-level="2">
1845 <label class="md-nav__title" for="__nav_7_1">
1846 <span class="md-nav__icon md-icon"></span>
1847 Tutorial Series
1848 </label>
1849 <ul class="md-nav__list" data-md-scrollfix>
1850
1851
1852
1853
1854
1855 <li class="md-nav__item">
1856 <a href="../../../tutorial/series/overview/" class="md-nav__link">
1857 Overview
1858 </a>
1859 </li>
1860
1861
1862
1863
1864
1865
1866
1867 <li class="md-nav__item">
1868 <a href="../../../tutorial/series/part_1/" class="md-nav__link">
1869 Part 1
1870 </a>
1871 </li>
1872
1873
1874
1875
1876
1877
1878
1879 <li class="md-nav__item">
1880 <a href="../../../tutorial/series/part_2/" class="md-nav__link">
1881 Part 2
1882 </a>
1883 </li>
1884
1885
1886
1887
1888
1889
1890
1891 <li class="md-nav__item">
1892 <a href="../../../tutorial/series/part_3/" class="md-nav__link">
1893 Part 3
1894 </a>
1895 </li>
1896
1897
1898
41eda543
WG
1899
1900
1901
1902
1903 <li class="md-nav__item">
1904 <a href="../../../tutorial/series/part_4/" class="md-nav__link">
1905 Part 4
1906 </a>
1907 </li>
1908
1909
1910
716a4ab6
WG
1911
1912
1913
1914
1915 <li class="md-nav__item">
1916 <a href="../../../tutorial/series/part_5/" class="md-nav__link">
1917 Part 5
1918 </a>
1919 </li>
1920
1921
1922
45ca63d0
TD
1923 </ul>
1924 </nav>
1925 </li>
1926
1927
1928
1929 </ul>
1930 </nav>
1931 </li>
1932
1933
1934
1935 </ul>
1936</nav>
1937 </div>
1938 </div>
1939 </div>
1940
1941
1942
1943 <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
1944 <div class="md-sidebar__scrollwrap">
1945 <div class="md-sidebar__inner">
1946
1947<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
1948
1949
a4835aa6 1950
45ca63d0
TD
1951
1952
1953
1954 <label class="md-nav__title" for="__toc">
1955 <span class="md-nav__icon md-icon"></span>
1956 Table of contents
1957 </label>
1958 <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
1959
1960 <li class="md-nav__item">
1961 <a href="#example" class="md-nav__link">
1962 Example
1963 </a>
1964
1965</li>
1966
1967 <li class="md-nav__item">
1968 <a href="#icronjob-interface" class="md-nav__link">
1969 ICronjob Interface
1970 </a>
1971
1972</li>
1973
1974 <li class="md-nav__item">
1975 <a href="#executing-cronjobs-through-cli" class="md-nav__link">
1976 Executing Cronjobs Through CLI
1977 </a>
1978
1979</li>
1980
1981 </ul>
1982
1983</nav>
1984 </div>
1985 </div>
1986 </div>
1987
1988
1989 <div class="md-content" data-md-component="content">
1990 <article class="md-content__inner md-typeset">
1991
1992
9b8bddda 1993 <a href="https://github.com/WoltLab/docs.woltlab.com/edit/5.4/docs/php/api/cronjobs.md" title="Edit this page" class="md-content__button md-icon">
7124f4cb
WG
1994 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg>
1995 </a>
1996
45ca63d0
TD
1997
1998 <h1 id="cronjobs">Cronjobs<a class="headerlink" href="#cronjobs" title="Permanent link">#</a></h1>
1999<p>Cronjobs offer an easy way to execute actions periodically, like cleaning up the database.</p>
2000<div class="admonition warning">
2001<p class="admonition-title">The execution of cronjobs is not guaranteed but requires someone to access the page with JavaScript enabled.</p>
2002</div>
2003<p>This page focuses on the technical aspects of cronjobs, <a href="../../../package/pip/cronjob/">the cronjob package installation plugin page</a> covers how you can actually register a cronjob.</p>
2004<h2 id="example">Example<a class="headerlink" href="#example" title="Permanent link">#</a></h2>
2005<div class="highlight"><pre><span></span><code><span class="o">&lt;?</span><span class="nx">php</span>
2006<span class="k">namespace</span> <span class="nx">wcf\system\cronjob</span><span class="p">;</span>
2007<span class="k">use</span> <span class="nx">wcf\data\cronjob\Cronjob</span><span class="p">;</span>
2008<span class="k">use</span> <span class="nx">wcf\system\WCF</span><span class="p">;</span>
2009
2010<span class="sd">/**</span>
2011<span class="sd"> * Updates the last activity timestamp in the user table.</span>
2012<span class="sd"> * </span>
2013<span class="sd"> * @author Marcel Werk</span>
2014<span class="sd"> * @copyright 2001-2016 WoltLab GmbH</span>
2015<span class="sd"> * @license GNU Lesser General Public License &lt;http://opensource.org/licenses/lgpl-license.php&gt;</span>
2016<span class="sd"> * @package WoltLabSuite\Core\System\Cronjob</span>
2017<span class="sd"> */</span>
2018<span class="k">class</span> <span class="nc">LastActivityCronjob</span> <span class="k">extends</span> <span class="nx">AbstractCronjob</span> <span class="p">{</span>
2019 <span class="sd">/**</span>
2020<span class="sd"> * @inheritDoc</span>
2021<span class="sd"> */</span>
2022 <span class="k">public</span> <span class="k">function</span> <span class="nf">execute</span><span class="p">(</span><span class="nx">Cronjob</span> <span class="nv">$cronjob</span><span class="p">)</span> <span class="p">{</span>
2023 <span class="k">parent</span><span class="o">::</span><span class="na">execute</span><span class="p">(</span><span class="nv">$cronjob</span><span class="p">);</span>
2024
2025 <span class="nv">$sql</span> <span class="o">=</span> <span class="s2">&quot;UPDATE wcf&quot;</span><span class="o">.</span><span class="nx">WCF_N</span><span class="o">.</span><span class="s2">&quot;_user user_table,</span>
2026<span class="s2"> wcf&quot;</span><span class="o">.</span><span class="nx">WCF_N</span><span class="o">.</span><span class="s2">&quot;_session session</span>
2027<span class="s2"> SET user_table.lastActivityTime = session.lastActivityTime</span>
2028<span class="s2"> WHERE user_table.userID = session.userID</span>
2029<span class="s2"> AND session.userID &lt;&gt; 0&quot;</span><span class="p">;</span>
2030 <span class="nv">$statement</span> <span class="o">=</span> <span class="nx">WCF</span><span class="o">::</span><span class="na">getDB</span><span class="p">()</span><span class="o">-&gt;</span><span class="na">prepareStatement</span><span class="p">(</span><span class="nv">$sql</span><span class="p">);</span>
2031 <span class="nv">$statement</span><span class="o">-&gt;</span><span class="na">execute</span><span class="p">();</span>
2032 <span class="p">}</span>
2033<span class="p">}</span>
2034</code></pre></div>
45ca63d0
TD
2035<h2 id="icronjob-interface"><code>ICronjob</code> Interface<a class="headerlink" href="#icronjob-interface" title="Permanent link">#</a></h2>
2036<p>Every cronjob needs to implement the <code>wcf\system\cronjob\ICronjob</code> interface which requires the <code>execute(Cronjob $cronjob)</code> method to be implemented.
2037This method is called by <a href="https://github.com/WoltLab/WCF/blob/master/wcfsetup/install/files/lib/system/cronjob/CronjobScheduler.class.php">wcf\system\cronjob\CronjobScheduler</a> when executing the cronjobs.</p>
2038<p>In practice, however, you should extend the <code>AbstractCronjob</code> class and also call the <code>AbstractCronjob::execute()</code> method as it fires an event which makes cronjobs extendable by plugins (see <a href="../events/">event documentation</a>).</p>
2039<h2 id="executing-cronjobs-through-cli">Executing Cronjobs Through CLI<a class="headerlink" href="#executing-cronjobs-through-cli" title="Permanent link">#</a></h2>
2040<p>Cronjobs can be executed through the command-line interface (CLI):</p>
2041<div class="highlight"><pre><span></span><code>php /path/to/wcf/cli.php &lt;&lt; &#39;EOT&#39;
2042USERNAME
2043PASSWORD
2044cronjob execute
2045EOT
2046</code></pre></div>
2047
4a5c32e1
WG
2048
2049
2050
2051<hr>
2052<div class="md-source-date">
2053 <small>
2054
2055 Last update: 2021-01-08
2056
2057 </small>
2058</div>
2059
2060
45ca63d0
TD
2061
2062
2063
2064
2065
2066
2067 </article>
2068 </div>
2069 </div>
fb962f09 2070
45ca63d0
TD
2071 </main>
2072
2073
2074<footer class="md-footer">
2075
2076 <nav class="md-footer__inner md-grid" aria-label="Footer">
2077
2078 <a href="../comments/" class="md-footer__link md-footer__link--prev" rel="prev">
2079 <div class="md-footer__button md-icon">
2080 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
2081 </div>
2082 <div class="md-footer__title">
2083 <div class="md-ellipsis">
2084 <span class="md-footer__direction">
2085 Previous
2086 </span>
2087 Comments
2088 </div>
2089 </div>
2090 </a>
2091
2092
2093 <a href="../events/" class="md-footer__link md-footer__link--next" rel="next">
2094 <div class="md-footer__title">
2095 <div class="md-ellipsis">
2096 <span class="md-footer__direction">
2097 Next
2098 </span>
2099 Events
2100 </div>
2101 </div>
2102 <div class="md-footer__button md-icon">
2103 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4z"/></svg>
2104 </div>
2105 </a>
2106
2107 </nav>
2108
2109 <div class="md-footer-meta md-typeset">
2110 <div class="md-footer-meta__inner md-grid">
2111 <div class="md-footer-copyright">
2112
2113 <div class="md-footer-copyright__highlight">
2114 Copyright © 2020 WoltLab GmbH
2115 </div>
2116
2117 Made with
2118 <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
2119 Material for MkDocs
2120 </a>
fb88dc6e 2121
45ca63d0
TD
2122 </div>
2123 <div class="md-footer-copyright">
2124 <a href="https://www.woltlab.com/legal-notice/">Legal Notice</a>
2125 <a href="https://www.woltlab.com/privacy-policy/">Privacy Policy</a>
2126</div>
2127 </div>
2128 </div>
2129</footer>
2130
2131 </div>
2132 <div class="md-dialog" data-md-component="dialog">
2133 <div class="md-dialog__inner md-typeset"></div>
2134 </div>
fb962f09 2135 <script id="__config" type="application/json">{"base": "../../..", "features": [], "translations": {"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing"}, "search": "../../../assets/javascripts/workers/search.fe42c31b.min.js", "version": {"provider": "mike"}}</script>
45ca63d0
TD
2136
2137
a4835aa6 2138 <script src="../../../assets/javascripts/bundle.4ea5477f.min.js"></script>
45ca63d0
TD
2139
2140
2141 </body>
2142</html>