Project

General

Profile

Actions

Task #1454

closed

Mentat - drobná vylepšení

Added by Jan Mach almost 11 years ago. Updated almost 8 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
Development - Core
Target version:
-
Start date:
03/17/2014
Due date:
% Done:

0%

Estimated time:
To be discussed:

Description

Drobná vylepšení a úpravy týkající se systému Mentat, na které se nevyplatí zakládat úkol, nebo které jsou hotovy a bylo by dobré mít je někde poznamenány.


Related issues

Related to Mentat - Task #1452: Hawat - drobná vylepšeníClosed03/17/2014

Actions
Actions #1

Updated by Jan Mach over 10 years ago

Na žádost Pavla Vachka jsem dopsal další sadu šablon (pár nových pro SSERV a jednu pro X4) commit:352fd058

Actions #2

Updated by Jan Mach over 10 years ago

V MongoDB driverech source:lib/Mentat/Storage/Mongo.pm a source:lib/Mentat/Message/Storage/Mongo.pm jsem naimlementoval novou metodu pro vyhledávání a iterativní procházení výsledkem. commit:6b41454c

Způsob použití je dokumentován u příslušných modulů, ale jelikož to nikdo nečte, tak to radši uvedu i zde:

#General Mentat::Storage::Mongo engine:

# Using iteration on cursor, arguments are the same as with find() method
my @result = [];
my ($cursor, $cnta) = $engine->find_i();
# !!!PREFERED METHOD!!! Now either use internal cursor iteration with optional limit
# This method uses the closures @result is visible in callback method
sub cb($) {
    push(@result, @_); # OR DO SOME OTHER STUFF HERE
}
my $cntb = $engine->cursor_iterate($cursor, \&cb, $limit);
# !!!DISCOURAGED METHOD!!! Or use cursor directly
while (my $doc = $cursor->next) {
    push(@result, $doc);  # OR DO SOME OTHER STUFF HERE
}
# @result now contains all data

# Message specific Mentat::Message::Storage::Mongo:

# Example of iterative find with conversion from database document to message
my @result = [];
my ($cursor, $cnta) = $engine->find_i();
# !!!PREFERED METHOD!!! Now either use internal cursor iteration with optional limit
# This method uses the closures @result is visible in callback method
sub cb($) {
    my $m = $engine->objectify(@_);
    push(@result, $m); # OR DO SOME OTHER STUFF HERE
}
my $cntb = $engine->cursor_iterate($cursor, \&cb, $limit);
# !!!DISCOURAGED METHOD!!! Or use cursor directly
while (my $doc = $cursor->next) {
    my $m = $engine->objectify($doc);
    push(@result, $m); # OR DO SOME OTHER STUFF HERE
}
# @result now contains all data
Actions #3

Updated by Jan Mach over 10 years ago

commit:27429e37 - Reportér nyní využívá konfiguraci uloženou v databázi (pro jednotlivé abuse). Přesunul jsem obecnou konfiguraci (from, reply_to, admin_c a devel_c) z kódu do konfiguračního souboru reportéru a vylepšil jsem sběr a zobrazování procesních statistik (z důvodů snazší kontroly a ladění).

Actions #4

Updated by Jan Mach over 10 years ago

commit:20978a48 - Bugfix v reportéru, algoritmus pro generování ID nebyl vláknově bezpečný, což způsobilo problémy, jelikož se stalo, že dvě instance běžely současně.

Actions #5

Updated by Jan Mach almost 10 years ago

  • Related to Task #1452: Hawat - drobná vylepšení added
Actions #6

Updated by Jan Mach almost 8 years ago

  • Status changed from New to Closed

Již neaktuální, úklid v úkolech, zavírám.

Actions #7

Updated by Jan Mach almost 8 years ago

  • Target version deleted (Long running)
Actions

Also available in: Atom PDF