From Wikimedia Commons, the free media repository
Jump to navigation Jump to search
Toolforge logo with text.svg This bot runs on Wikimedia Toolforge.

Administrators: If this bot needs to be blocked due to a malfunction, please remember to disable autoblocks so that other Toolforge bots are not affected.

KrinkleBot is a pywiki-based bot that keeps Commons:Auto-protected files up to date.


See also[edit]

In case of Toolforge Grid failure[edit]

If the fileprotectionsync job is stuck in the grid queue (wikitech:Open Grid Engine), use the following instructions to resume the regularly programmed schedule:

# Log in on the server
$ ssh
$ become krinklebot

# Inspect the logs (recently modified?)
$ ls -l fileprotectionsync.*
-rw-rw---- 1 tools.krinklebot tools.krinklebot 48719 Oct 14 22:52 fileprotectionsync.err
-rw-rw---- 1 tools.krinklebot tools.krinklebot 82040 Oct 14 22:52 fileprotectionsync.out

# Check the log contents
# If recent log entries contains only "job named .. already active" lines, it means that
# the grid queue is stuck. Kill the ghost processes to restore the schedule.
$ tail fileprotectionsync.*
==> fileprotectionsync.err <==
Updating page [[Commons:Auto-protected files/wikipedia/fr]] via API
[Tue Oct 14 22:58:50 2014] there is a job named 'fileprotectionsync' already active
[Tue Oct 14 22:58:52 2014] there is a job named 'fileprotectionsync' already active

==> fileprotectionsync.out <==

# Look for active processes
$ qstat
------ 0.00000 fileprotec tools.krinkl **    00/00/0000 00:00:00
------ 0.00000 fileprotec tools.krinkl **    00/00/0000 00:00:00

# Run "jstop fileprotectionsync" as many times as there are entries for it
$ jstop fileprotectionsync
$ jstop fileprotectionsync

# There should never be more than one entry due to `jsub -once`, but
# when it's stuck there tends to also be more than one entry (somehow).

# Verify that crontab.txt and `crontab -l` match
$ crontab -l
$ cat crontab.txt

# The bot will now automatically restart within 15minutes (per cron schedule)

If the grid is entirely unresponsive, you can run it manually:

$ ./