argument('size'); $lang = $this->argument('which'); $db = new ChatLib($size); ChatLog::where('type', '=', 'chat') ->where('banned', '=', false) ->whereNotNull('evaluated_at') ->where('created_at', '<', now()->sub(7, 'day')) ->whereNotIn('classification', ['gg', 'gl', 'number', 'o7']) ->where(function ($query) use ($lang) { $query->whereNull('detected_language'); $query->orWhere('detected_language', '=', $lang); }) ->orderBy('channel_id') ->orderBy('created_at') ->chunk(5000, function ($msgs) use (&$count, $db) { $previous = null; foreach ($msgs as $msg) { $db->addMessage($msg, $previous); $previous = $msg; ++$count; } $this->line($count); }); $db->compile(); $db->saveAs($lang); $this->line( number_format(time() - $start, 0).'s '. number_format(memory_get_usage() / 1024 / 1024, 3).'MB now '. number_format(memory_get_peak_usage() / 1024 / 1024, 3).'MB peak'); return 0; } } ?>