ne 3. 6. 2018 v 22:35 odesílatel Bináris <wikiposta(a)gmail.com> napsal:
2018-06-03 22:23 GMT+02:00 Martin Urbanec
<martin.urbanec(a)wikimedia.cz>cz>:
Well, failed sliently? Again, I run the same bot in cs.wiki and this is
what I can see in logs.
Yes, that's what I wrote in the initial letter with a link to the log. For
me, this is quite silent.
If somebody writes "fail sliently", I expect "without any notice"
automatically. There is a notice, but the notice isn't processed by the
operator or their bots.
But your example shows something important: Dalba's solution is not general
enough, either. It will work for abusefilter-warning,
but not for
SpamFilterError. Or for abuse filters that deny edit.
You cannot save an edit that is being denied. This is what such filters are
used to, to prevent some edits. Still, not a framework problem IMHO.
>> Of course Pywikibot didn't report it by email, because it will be
>> unexpectable (and, to be precise, Pywikibot do not always have a way to
>> email you - for example, my Pywikibot bot password don't allow emailing
>> (well, maybe it does, I'm not sure, but it isn't required to allow it).
>
> Pywikibot should have the option to send a mail to the owner, if he/she
> wants, and setting the e-mail option for the bot account is worth for this
> purpose.
> Of course, it wouldn't be obligatory.
>
Really? Imagine we have this feature and imagine a bot operator that says
"Hey, you can notify the bot operator via email, let's implement SMS as
well". Then, other bot operators can require a lot of different
notification types. This will make Pywikibot unsustainable. Instead, let's
follow a good Unix rule. One program should focus on only one thing. If I'm
writing a framework that is interacting with MW API (purpose of Pywikibot),
it should interact with MW API and not monitor logs. If I want to monitor
logs, I should use another program (generally called log watcher) that
focuses on watching/monitoring logs and reporting some patterns to the
admin.
I store all logs from my Pywikibot scripts in ~/logs. If I want, I can
create a maintenance job to monitor the logs. It will generally execute
something like this. It would be relatively easy to modify this to monitor
other bots (multiple maintenance jobs, or one running in multiple threads)
and/or include the traceback directly in the mail.
tail -Fn0 /data/project/urbanecmbot/logs/archivePages.log | \
while read line ; do
echo "$line" | grep -q "ERROR"
if [ $? = 0 ]
then
echo "Fatal error in ArchiveBot, see
/data/project/urbanecmbot/logs/archivePages.log for details" |
/usr/bin/mail -s "Error notification" martin.urbanec(a)wikimedia.cz
fi
done
I don't think we could expect bot owners to
monitor their logs all the
time. Why should a human do the work of a computer?
I didn't say a human should do it. I said that the bot operator is expected
to monitor the logs, either themselfes or using a bot. It is the same for
system administrator. The services running in the system log various events
into log service, but this is the only thing it does. The log service store
the events in logfiles (default setting) or to dedicated log server. If the
sysadmin want to know about some events by email/SMS/whatever, they should
employ a service that is supposed to monitor for given patterns in given
log files.
_______________________________________________
pywikibot mailing list
pywikibot(a)lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/pywikibot