{"id":1474,"date":"2020-10-06T12:28:04","date_gmt":"2020-10-06T09:28:04","guid":{"rendered":"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\/%d1%81%d0%bb%d1%83%d0%b6%d0%b5%d0%b1%d0%bd%d1%8b%d0%b5-%d0%b8-%d1%80%d0%b5%d0%b3%d1%83%d0%bb%d1%8f%d1%80%d0%bd%d1%8b%d0%b5-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d1%8b"},"modified":"2026-02-27T00:41:07","modified_gmt":"2026-02-26T21:41:07","slug":"management-commands","status":"publish","type":"docs","link":"https:\/\/microimpuls.com\/en\/docs\/smarty\/configuring-and-management\/management-commands","title":{"rendered":"Service and regular teams"},"content":{"rendered":"<p>Service commands are called using a smarty_manage script and are designed to perform certain regular and system tasks, such as updating EPG or deleting outdated data. Some commands are mandatory for the proper functioning of the service.<\/p>\n\n\n\n<p>Instead <code><\/code> in the commands, specify your configuration file, which is located at the address <code>\/etc\/microimpuls\/smarty\/<\/code>.<\/p>\n\n\n\n\n\n<h2 class=\"wp-block-heading\">Common teams<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">Cache update<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage flushall --settings=settings.<\/pre>\n\n\n\n<p>In Smarty there are two types of cache:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>secure cache \u2014 these are data that are written to cache for the sake of speed access to them and are not subject to cleaning when updating: content viewing marks, video server keys, etc.<\/li>\n\n\n\n<li>regular cache \u2014 temporarily stored data to speed up the system: saved API responses from the server. <\/li>\n<\/ul>\n\n\n\n<p>Default command <code>flushall<\/code> it only cleans the regular cache.<\/p>\n\n\n\n<p> Parameters:<\/p>\n\n\n\n<p><code>-flush-protected<\/code> \u2014 for forced cleaning of the protected cache.<\/p>\n\n\n\n<pre id=\"block-8e88d35d-0926-4de2-8f6a-15cd0a22c534\" class=\"wp-block-preformatted\">smarty_manage flushall --flush-protected --settings=settings.<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Clearing the cache from temporary data<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage invalidate_clever_cache --settings=settings.<\/pre>\n\n\n\n<p>The command deletes data cached using the Redis cache <code>cleverly-cache<\/code>and related dependency information.<\/p>\n\n\n\n<p>Parameters:<\/p>\n\n\n\n<p><code>--log_enabled<\/code> \u2014 if this option is specified, the deletion progress will be logged in smarty management.log.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Testing system performance<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage performance_test --settings=settings.<\/pre>\n\n\n\n<p>Verification is carried out depending on the selected purpose of testing:<br><code>-redis<\/code> speed of writing, reading and deleting data.<br><code>--database<\/code> speed of creating and reading data.<br><code>-proc <\/code>- time of sorting the data array.<\/p>\n\n\n\n<p>After performing the tests, the execution time of each test with the selected data size and the approximate number of requests \/ operations per second (rps) are output.<\/p>\n\n\n\n<p>Parameters:<br><code>-small<\/code> performance testing is done with a small amount of data.<br><code>-m,mid<\/code> \u2014 performance testing is carried out with an average amount of data.<br><code>-b, big<\/code> \u2014 performance testing is done with a lot of data.<br><code>-r, -redis<\/code> if this flag is present, a redis check will be carried out.<br><code>-db<\/code> If this flag is present, the database will be checked.<br><code>-p, --proc<\/code> if this flag is present, the performance of the processor will be checked.<br><code>-a<\/code> a full system inspection flag (includes) <code>-r, db, -p<\/code>).<\/p>\n\n\n\n<p>Examples of team use:<br>Processor load test with a lot of data:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage performance_test --proc --big --settings=settings.<\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-small-font-size\">\/usr\/share\/microimpuls\/smarty-lite\/manage.py performance_test \u2014proc \u2014big \u2014settings=settings.smarty-lite<\/p>\n\n\n\n<p class=\"has-small-font-size\">Processor test<br>Sorting values in test list..<br>time: 242.4418 22914546.2145 rps<\/p>\n<\/blockquote>\n\n\n\n<p>A full load test with an average amount of data:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage performance_test -a --mid --settings=settings.<\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-small-font-size\">\/usr\/share\/microimpuls\/smarty-lite\/manage.py performance_test -a \u2014mid \u2014settings=settings.smarty-lite<\/p>\n\n\n\n<p class=\"has-small-font-size\">Redis test<br>Setting value in redis..<br>time: 47.9694 10423.3085 rps<br>Receiving values from redis..<br>time: 46.3872 10778.8313 rps<br>Deleting values from redis..<br>time: 46.2279 10815.9741 rps<\/p>\n\n\n\n<p class=\"has-small-font-size\">DB test<br>Creating value in db table..<br>time: 1.3785 362.7209 rps<br>Receiving values from db table..<br>time: 6.4660 7732.7368 rps<\/p>\n\n\n\n<p class=\"has-small-font-size\">Processor test<br>Sorting values in test list..<br>time: 59.1231 23489591.2796 rps<\/p>\n<\/blockquote>\n\n\n\n<h4 class=\"wp-block-heading\">Creating a dumpfile for PostgreSQL<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage dump_db_to_psql -o dumpfilename.psql -s smarty_psql --settings=settings;<\/pre>\n\n\n\n<p>The team creates a dump file of the current Smarty database for PostgreSQL.<\/p>\n\n\n\n<p>Parameters:<\/p>\n\n\n\n<p><code>-s (--psqldb)<\/code> \u2014 the name of the database in the PostgreSQL server.<\/p>\n\n\n\n<p><code>-o (-dumpfile)<\/code> \u2014 the name of the file in which the dump of the current Smarty database will be recorded.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Subscribers<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">Write-off\/renewal of accounts using built-in billing according to settlement periods<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage check_accounts --settings=settings.<\/pre>\n\n\n\n<p>The team deactivates accounts for which the settlement period has come to an end, as well as debits funds and renews existing accounts. It is recommended to start every night (see para. <a href=\"https:\/\/microimpuls.com\/en\/docs\/smarty\/external-billing-integration\/about-internal-billing\/\">Description of the built-in billing<\/a>). <\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Extension of Integrated Theatre External Billings for Simple Billing Logic<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage <span font-family:=\"\" inherit;=\"\" font-size:=\"\" color:=\"\" initial;\"=\"\">check_video_subscriptions<\/span> -settings=settings.<\/pre>\n\n\n\n<p>The team is needed to support the current state of external subscriptions for cinemas in Smarty: checks internal subscriptions and, if necessary, renews external subscriptions. If the internal subscription is over, the external subscription is extended, the internal subscription is recreated. If external subscriptions are duplicated, the duplicate is deleted. The team passes on all subscriptions to the external cinema on the Smarty side (internal tariffsubscription objects in the django-admin Smarty) and, if necessary, renews them on the cinema side (external billing at the START, Viju and MEGOGO cinemas). Subscription on the cinema side is created with a margin of 1 day relative to the subscription within Smarty, so that this management team is guaranteed to have time to work out and renew the cinema subscription before it ends. If a subscription (or subscription) was added to the integration with the cinema after it appeared at the subscriber, then during the work of the team it will open on the cinema side, i.e. all missed external subscriptions will be created.<\/p>\n\n\n\n<p>It is recommended to run the command at least 1 time per day, and in the case of using the command <code>check_accounts<\/code> \u2014 start the command <span style=\"font-family: inherit; font-size: inherit; color: initial;\"><code>check_video_subscriptions<\/code><\/span> right after her. <\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Delete all authorization sessions of all accounts for a given Client ID<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage delete_authkeys --client_id= --settings=settings. <\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Attention, executing the command will lead to the logout of all devices.<\/p>\n<\/blockquote>\n\n\n\n<h4 class=\"wp-block-heading\">Clearing the subscriber's action log<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage clear_customer_log --days=60 --settings=settings;<\/pre>\n\n\n\n<p>Parameters:<\/p>\n\n\n\n<p> <code>-days<\/code> \u2014 this option is mandatory and specifies that when calling a command, records older than days will be deleted.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Payments<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">Autopayment team<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage make_autopayments --settings=settings.<\/pre>\n\n\n\n<p>Makes payments for those customers who have active auto payment. It is recommended to perform directly in front of the team <code>check_accounts<\/code>.<\/p>\n\n\n\n<p>Parameters:<\/p>\n\n\n\n<p> <code>-use_pool<\/code><strong> <\/strong>\u2014 includes multithreaded processing of customer auto payments.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Payment validation team<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage check_payment_status --settings=settings.<\/pre>\n\n\n\n<p>Checks payment status for payment systems that do not have automatic notification. Fortebank and Payture are currently supported.<\/p>\n\n\n\n<p>Parameters:<\/p>\n\n\n\n<p> <code>-timeout_minutes<\/code> \u2014 the number of minutes after which the payment is considered \u201cobsolete\u201d and is no longer verified.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Communications<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">Sending information messages to device screens and e-mail about the approach of the deactivation period \/ payment requirement<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage send_activation_expires_messages --client_id= --days_count= --settings=settings.<\/pre>\n\n\n\n<p>Parameters:<\/p>\n\n\n\n<p><code>-days_count<\/code> \u2014 this parameter is mandatory and creates a sample of accounts, the period before deactivation of which is equal to the transmitted parameter.<\/p>\n\n\n\n<p><code>-send_sms<\/code> \u2014 if you specify this setting, messages will also be sent via SMS in case the subscriber has a phone number. It is recommended to run this command once a day.<\/p>\n\n\n\n<p>Example of using a command:<\/p>\n\n\n\n<p>Sending an SMS notification about the imminent approach of deactivation of accounts with the Client with ID=25:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage send_activation_expires_messages --client_id 25 --days_count 3 --send_sms --settings=settings;<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Sending information messages to device screens and e-mail about the approaching deactivation period \/ payment requirement for a subscription billing model<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty manage nlb send activation expires messages --client id= --days count= --settings=settings.&gt;<\/pre>\n\n\n\n<p><strong>Mandatory parameters:<\/strong><\/p>\n\n\n\n<p><code>-days_count<\/code>\u00a0after the specified number of days, subscribers must expire their subscription to send a warning.<\/p>\n\n\n\n<p><strong>Additional parameters:<\/strong><\/p>\n\n\n\n<p><code>-client_id<\/code> \u2014 ID of the Client for whom the subscriptions are sent and checked.<br><code>-send_sms<\/code> \u2014 send a message via SMS in addition to the standard sending mechanism (to the TV screen and by e-mail).<br><code>-send cas<\/code> \u2014 sending a message via CAS.<br><code>--include nonperiodical<\/code> \u2014 the expiring subscription message will mention non-recurrent subscriptions.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Deletion of old undelivered information messages<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty manage clean old messages --days count  --hours  --minutes  --settings=settings.&gt;<\/pre>\n\n\n\n<p>With the help of this command, you can remove messages of a certain age that are irrelevant. Both delivered (without the flag \u00abDelete after reading\u00bb) and unread messages will be deleted. Deletion takes into account the date of creation of the message. If you specify several parameters, the period is summed depending on the transmitted parameters.<br><strong>Warning:<\/strong> unless <code>-days_count<\/code> when executing a command, the default parameter is taken.<\/p>\n\n\n\n<p>Parameters:<\/p>\n\n\n\n<p> <code>-days_count<\/code><strong> <\/strong>8212 is responsible for deleting messages created by X or more days ago. By default <strong>7<\/strong>.<\/p>\n\n\n\n<p><code>-hours <\/code>\u2014 is responsible for deleting messages created by X or more hours ago. By default <strong>0<\/strong>.<\/p>\n\n\n\n<p><code>-minutes<\/code> \u2014 is responsible for deleting messages created by X or more minutes ago. By default <strong>0<\/strong>.<\/p>\n\n\n\n<p>Example of using a command:<\/p>\n\n\n\n<p>Delete messages that were created more than 3.5 hours ago:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage clean_old_messages --days_count=0 --hours=3 --minutes=30 --settings=settings;<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Re-sending SMS messages not delivered the first time<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage resend_sms --settings=settings.<\/pre>\n\n\n\n<p>It is recommended to run the command every 1-3 minutes. Not all SMS gateways are supported.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Recovery of communications<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage restore_messages --settings=settings.<\/pre>\n\n\n\n<p>A command can be called if messages do not reach users or, for example, if a Redis drops. It can be used separately from <code>flushall<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Content<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">Caching the list of channels for subscriber devices<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage cache_channel_list --settings=settings.<\/pre>\n\n\n\n<p>Parameters:<\/p>\n\n\n\n<p><code>-content_type<\/code> \u2014 designed to separate caching cameras and channels. Possible values: <code>all, camera, channel.<\/code> By default <code>all<\/code>.<\/p>\n\n\n\n<p>It is recommended to run this command every minute. With an empty cache of the list of channels, the subscriber will be given a message that the list of channels is empty.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Creating a selection of popular TV channels<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage create_channel_selection_by_popularity --settings=settings;<\/pre>\n\n\n\n<p><strong>Warning:<\/strong> for the work of this team it is necessary to configure <a rel=\"noreferrer noopener\" href=\"https:\/\/microimpuls.com\/en\/docs\/smarty\/configuring-and-management\/viewstats\/\" target=\"_blank\">tv viewing statistics module.<\/a><\/p>\n\n\n\n<p>Parameters:<br><code>-client_id<\/code> This option is mandatory and determines the Client identifier for which the selection will be created.<br><code>-days_number<\/code> this parameter is mandatory and determines the number of days during which you should take into account television viewing.<br><code>- criterion<\/code> This parameter is mandatory and determines the characteristic on which the selection will be created. Possible values: <code>watch<\/code> (total channel viewing time), <code>watch_sessions<\/code> (number of channel viewing sessions), <code>average<\/code> (average channel viewing time), <code>median_watch_time<\/code> (median viewing time).<br><code>-devices<\/code> parameter for creating a collection for certain devices (by default, the collection is created for all devices).<br><code>--accounts_active<\/code> The parameter allows you to create a selection only based on active accounts. Possible values: <code>true, false<\/code>. By default <code>falsely<\/code>.<br><code>-tariffs<\/code> selection of certain tariffs to create a collection (all tariffs are taken into account by default).<br><code>--selection_size<\/code> The parameter determines the size of the set created. In the absence of information about a sufficient number of channels, channels without statistics are added to the desired number. By default <strong>17<\/strong>.<\/p>\n\n\n\n<p>Example of using a command:<\/p>\n\n\n\n<p>Creating for Client=1 a selection of weekly popular channels by viewing time:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage create_channel_selection_by_popularity --client_id=1 --days_number=7 --criterion=watch_time --settings=settings;<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Creating videos from archival records<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage make_vodpvr --settings=settings.<\/pre>\n\n\n\n<p>The team allows you to create entities such as \u00abvideo\u00bb from archival records to fill a video library or archive. <\/p>\n\n\n\n<p><strong>Mandatory parameters<\/strong>:<br><code>-client_id<\/code> This option is mandatory and defines the Client identifier for which video from archival records will be created.<br><code>-tariff_ids<\/code> - id tariff, which will be set for the created videos.<br><code>--filter_tariff_ids<\/code> filter at the rate, from the channels of which video will be created.<\/p>\n\n\n\n<p><strong>Additional parameters<\/strong>:<\/p>\n\n\n\n<p><code>--epg_category_ids<\/code> filter by category of transmissions for which the video will be created.<br><code>--provider_id <\/code>id video provider, which will be installed for the created videos.<br><code>--epg_source_ids<\/code> - filter by source EPG, from the transmission of which video will be created.<br><code>-join_videos<\/code> This parameter determines the number of assets at which the film becomes a series. It is used only if the EPG source does not provide information about seasons and series for transmissions.<br><code>--check_program_blocking<\/code> \u2014 archival films are not created from programs that are blocked.<br><code>-actual_time<\/code> - clock time. The video will only be created from archival records that will be available for the time specified in this setting. Default value: <strong>12<\/strong>.<\/p>\n\n\n\n<p>It is recommended to run the command once in the period specified in the parameter <code>actualtime<\/code>. For example, for daily updating of videos created from archival transmissions, you should run a command once a day with a parameter <code>-actual_time<\/code>=25 (an additional hour is given to the team).<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Removal of outdated films\/series from archive video library<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage clean_vodpvr --settings=settings.<\/pre>\n\n\n\n<p>The team goes through the list of films\/series of the archive video library and removes outdated ones.<\/p>\n\n\n\n<p>Parameters:<\/p>\n\n\n\n<p><code>-client_id<\/code> This option is mandatory and defines the Client identifier, within which outdated films \/ series of the archive video library will be deleted.<\/p>\n\n\n\n<p><code>-expired_time<\/code> - clock time. Those films\/series of the archive video library will be deleted, the age of which is more than the specified parameter. By default <strong>169<\/strong> (7 days + 1 hour).<\/p>\n\n\n\n<p><code>-chunk_size<\/code> Determines the number of movies\/series to be deleted in SQL queries to reduce the load on the database. By default&nbsp;<strong>1000<\/strong>.<\/p>\n\n\n\n<p>Example of using a command:<\/p>\n\n\n\n<p>Removal of films\/series that were recorded more than 2 weeks ago:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage clean_vodpvr --client_id=1 --expired_time=336 --chunk_size=64 --settings=settings;<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Creating a selection of popular films of the archive video library<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage create_vodpvr_selection_by_popularity --client_id=1 --days_number=3 --settings=settings;<\/pre>\n\n\n\n<p>The team creates a selection of popular videos from the archive video library based on the viewing of users.<\/p>\n\n\n\n<p>Mandatory parameters:<\/p>\n\n\n\n<p><code>-client_id<\/code> - determines the Client identifier, within which the collection will be formed.<\/p>\n\n\n\n<p><code>-days_number<\/code> the number of days for which television viewing statistics are taken.<\/p>\n\n\n\n<p>Optional parameters:<\/p>\n\n\n\n<p><code>-channels<\/code> - a list of channels, the transmissions of which take into account the statistics of television viewing.<\/p>\n\n\n\n<p><code>-categories<\/code> \u2014 a list of categories of channels, the transmissions of which are taken into account the statistics of television viewing.<\/p>\n\n\n\n<p><code>--selection_size<\/code> \u2014 maximum amount of content in the collection. Default 17.<\/p>\n\n\n\n<p><code>--election_name<\/code> \u2014 title of the collection. By default \u00abPopular movies X (Y)\u00bb or \u00abPopular videos X (Y)\u00bb where X\u2014 the value of days_number, and Y\u2014 selection_size.<\/p>\n\n\n\n<p>Example of using a command:<\/p>\n\n\n\n<p>Removal of films\/series that were recorded more than 2 weeks ago:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage create_vodpvr_selection_by_popularity --client_id=1 --days_number=7 --selection_size=30 --selection_name=\"Popular in the Archive\" --channels=1 --channels=2 --<code>categories<\/code>=1 --<code>categories<\/code>=2 --settings=settings.<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Offline caching of selections<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage cache_record_list --categories --settings=settings;<\/pre>\n\n\n\n<p>Parameters:<\/p>\n\n\n\n<p><code>-categories<\/code>&nbsp;add filters by category to the cache (for display in the screen \u00abArchive\u00bb in the left column of EPG categories).<\/p>\n\n\n\n<p><code>-genres<\/code> \u2014 add filters by genre to the cache (for display in the screen \u00abArchive\u00bb in the left column of EPG genres).<\/p>\n\n\n\n<p><code>-category_skip_ids<\/code> \u2014 the ability to remove selected categories from the caching program.<\/p>\n\n\n\n<p><code>-genre_skip_ids<\/code> \u2014 the ability to remove from caching the program of selected genres.<\/p>\n\n\n\n<p><code>-client_id<\/code> \u2014 create cache only for a specific Client.<\/p>\n\n\n\n<p>The frequency of the launch of this command is recommended to be selected individually for your service depending on the number of channels with records and server capacity (starting from 20 minutes or more).<\/p>\n\n\n\n<p>To optimize the work of this team, the following options can be used:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>TVMIDDLEWARE_PROGRAM_RECORD_LIST_DONT_CHECK_BLOCKS<\/code>&nbsp;- meaning&nbsp;<strong>True true<\/strong>&nbsp;checking the transmission for lockdown is turned off. If the functionality of blocking archive transmissions is not used, we recommend to enable this option.<\/li>\n\n\n\n<li><code>TVMIDDLEWARE_PROGRAM_RECORD_LIST_MINIMUM_LENGTH<\/code>&nbsp;- excludes from the sample for the screen \"Archive\" transmission shorter than N seconds. By default&nbsp;<strong>900<\/strong>.<\/li>\n\n\n\n<li><code>TVMIDDLEWARE_PROGRAM_RECORD_DAYS<\/code>&nbsp;Excludes programs older than N days from the cache. By default&nbsp;<strong>5<\/strong>.<\/li>\n\n\n\n<li><code>TVMIDDLEWARE_PROGRAM_RECORD_ONLY_FINISHED<\/code>&nbsp;- meaning&nbsp;<strong>True true<\/strong>&nbsp;in the API method for obtaining a list of records in the Archive screen, not yet completed transmissions will be transmitted. Data type: bool. By default&nbsp;<strong>False<\/strong>.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Removal of duplicates of video libraries<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage clean_duplicated_genres --settings=settings.<\/pre>\n\n\n\n<p>Parameters:<\/p>\n\n\n\n<p><code>min_length_name<\/code> \u2014 the length of the genre name, at which the name is reduced to 80% when searching for duplicates. If the length of the genre is less than the specified value, the genre will be compared without shortening the name. This parameter does not exclude the removal of the genre as a duplicate.<\/p>\n\n\n\n<p><code>-not_cut_name_genre<\/code> \u2014 a genre name that won't be abbreviated to 80% when looking for duplicates. It is asked if it is important to take into account the end of the genre when comparing. This parameter does not exclude the removal of the genre as a duplicate.<\/p>\n\n\n\n<p><code>-separate_category<\/code> \u2014 division into genres and categories. If specified, they will be compared separately.<\/p>\n\n\n\n<p><code>--only_enabled<\/code> \u2014 deletion is performed only for genres and categories with the status \u00abPublished \u00bb.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Note: The team only looks for duplicates among published genres.<\/p>\n<\/blockquote>\n\n\n\n<h4 class=\"wp-block-heading\">Transfer of movie viewing marks to a permanent database<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage save_content_position --settings=settings.<\/pre>\n\n\n\n<p>Remembering the position the user stopped at when watching the movie is done by sending the current position to Smarty from the app every 30 seconds. Saving this position every time in the database is quite a heavy operation, so it is saved by default to a protected cache. But since the cache, even protected, is still a temporary entity, and it is important to store the history of user views for a long time &amp;# 8212; it is possible to transfer these views to the main database using the command <code>save_content_position<\/code>. It is recommended to start at least once a day.<\/p>\n\n\n\n<p>Parameters:<\/p>\n\n\n\n<p><code>--ave_db<\/code> \u2014 flag for transferring saved positions in the database. It is not recommended for use, because when performed, the database is heavily loaded.<\/p>\n\n\n\n<p><code>-save_file<\/code> \u2014 this parameter defines the file name (with the extension .gz) to which saved positions will be transferred.<\/p>\n\n\n\n<p><code>-client_ids<\/code> \u2014 this parameter specifies a list of client identifiers for which positions must be retained. <strong>Warning:<\/strong> not used together with the parameter <code>-account_id<\/code>.<\/p>\n\n\n\n<p><code>-account_ids<\/code> \u2014 this parameter specifies the list of account identifiers for which positions need to be moved. <strong>Warning:<\/strong> not used together with the parameter <code>-client_id<\/code>.<\/p>\n\n\n\n<p><code>--account_actual_days<\/code> \u2014 if the account has been active for a specified number of days, then its saved positions are taken into account when transferring.<\/p>\n\n\n\n<p><code>-chunk_size<\/code> \u2014 determines the number of accounts for one SQL query to slightly reduce the load on the database.<\/p>\n\n\n\n<p>Examples of team use:<\/p>\n\n\n\n<p>Save viewing tags for client_id=1 in the file:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage save_content_position --client_id=1 --save_file=example.gz --settings=settings;<\/pre>\n\n\n\n<p>Saving browsing tags for account_id=100 in the database (from chunk_size=20):<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage save_content_position --account_id=100 --save_db --chunk_size=20 --settings=settings;<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Loading viewing marks from a constant database into a cache<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage restore_content_position --settings=settings.<\/pre>\n\n\n\n<p>Parameters:<\/p>\n\n\n\n<p><code>--load_db<\/code> \u2014 flag for transferring saved positions from the database. It is not recommended for use, because when performed, the database is heavily loaded.<\/p>\n\n\n\n<p><code>--load_file<\/code> \u2014 this parameter defines the name of the file (with the extension .gz) from which the browsing marks will be downloaded.<\/p>\n\n\n\n<p><code>-client_ids<\/code> \u2014 this parameter specifies a list of client identifiers for which positions must be retained. <strong>Warning:<\/strong> not used together with the parameter <code>-account_id<\/code>.<\/p>\n\n\n\n<p><code>-account_ids<\/code> \u2014 this parameter specifies the list of account identifiers for which positions need to be moved. <strong>Warning:<\/strong> not used together with the parameter <code>-client_id<\/code>.<\/p>\n\n\n\n<p>Examples of team use:<\/p>\n\n\n\n<p>Download browsing tags for client_id=1 from the database:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage restore_content_position --client_id=1 --save_db --settings=settings.<\/pre>\n\n\n\n<p>Download browsing tags for account_id=100 from the file:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage restore_content_position --account_id=100 --load_file=example.gz --settings=settings.<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Removal of movie viewing history for all subscribers<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage remove_viewed_content_history --settings=settings;<\/pre>\n\n\n\n<p>Parameters:<\/p>\n\n\n\n<p><code>-client_id<\/code>&nbsp;\u2014 Client identifier, for which subscribers you need to clear the browsing history.<\/p>\n\n\n\n<p>&nbsp;<code>-days<\/code>&nbsp;\u2014 views older than this number of days should be cleared.<\/p>\n\n\n\n<p>The command allows you to delete user browsing history older than a certain number of days, so as not to store data, for example, a year ago.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Caching a list of countries sorted by number of films<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage cache_video_country_list --settings=settings.<\/pre>\n\n\n\n<p>This command is needed to display a list of countries on the film filter screen in the application interface. It is recommended to run once a day. With an empty cache, the TVMW API will return an empty list of countries.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Generation of feeds from archival records<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage cache_record_feed --client_id= --settings=settings.<\/pre>\n\n\n\n<p>The team collects and generates feeds from archival records. When specifying the parameter <code>-client_id<\/code> the generation will occur for a specific Client (otherwise, the generation will be made on all available Clients). The feeds are available at: <code>smarty.example.com\/tvmiddleware\/record\/feed\/.<\/code><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Removal of actors who are not linked to films and\/or their duplicates<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage remove_invalid_actors --settings=settings.<\/pre>\n\n\n\n<p>Depending on the transferred parameters, actors who are not tied to any films or duplicate actors will be removed. When removed, the relevant photos of the actors are also cleaned.<\/p>\n\n\n\n<p>Parameters:<\/p>\n\n\n\n<p><code>-client_id<\/code> \u2014 defines the Client identifier within which the clean-up will be carried out.<\/p>\n\n\n\n<p><code>verbose<\/code> \u2014 when deleted, smarty_management.log will record the names of the actors being deleted, as well as the path to the photo being deleted.<\/p>\n\n\n\n<p><code>-dublicate<\/code> \u2014 removing duplicate actors.<\/p>\n\n\n\n<p><code>dub_field<\/code> \u2014 the name of the field by which duplicates are determined. By default <code>movie_db_id<\/code>.<\/p>\n\n\n\n<p><code>fake<\/code> \u2014 when you add this parameter, the actual removal of actors does not occur.<\/p>\n\n\n\n<p><code>-filmless<\/code> \u2014 removing actors who are not attached to any film.<\/p>\n\n\n\n<p><strong>Warning:<\/strong> if you miss the parameter <code>-client_id<\/code>cleaning will be done for all customers.<\/p>\n\n\n\n<p>Example of using a command:<\/p>\n\n\n\n<p>Removal of actors without films and duplicates:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage remove_invalid_actors --dublicate --filmless --client_id=1 --verbose --settings=settings;<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">EPG<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">Imports EpgChannel<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage epg_channel_import --settings=settings.<\/pre>\n\n\n\n<p>The command downloads a list of channels or updates a list of icons from an EPG source (EpgService or any xmltv source). Parameters are required to start the command<code> -epg_import_id<\/code> or <code>-epg_source_name<\/code>. <\/p>\n\n\n\n<p>When importing images, copies of various sizes specified in the SMARTY_DEFAULT_ICON_SIZES option are created as far as possible.<br>To update the icons of a certain channel can be specified <code>-epg_channel_id<\/code> or <code>-channel_id<\/code>.<\/p>\n\n\n\n<p>Parameters:<\/p>\n\n\n\n<p><code>-epg_source_id<\/code> \u2014 EpgSource identifier in Smarty, for which you need to import channels.<\/p>\n\n\n\n<p><code>-epg_source_name<\/code> The name EpgSource, for which you need to import channels.<\/p>\n\n\n\n<p><code>-epg_channel_id<\/code> EpgChannel identifier, for which you need to update the icon. It is located in the admin Django Smarty.<\/p>\n\n\n\n<p><code>-force_import<\/code> The parameter is required to load all channels from the source list. All other parameters are ignored except <code>-epg_source_id<\/code> , <code>-epg_source_name<\/code> and <code>--fix_duplicates<\/code>.<\/p>\n\n\n\n<p><code>-channel_id<\/code> - channel identifier for which you need to update the icon. It's in the Smarty admin.<\/p>\n\n\n\n<p><code>--reimport_icons<\/code> if this parameter is specified, the imported channels will be updated with icons.<\/p>\n\n\n\n<p>Example of a team for importing channels:<\/p>\n\n\n\n<pre id=\"block-3a59a830-be6c-466c-ac6b-bb1517dd4542\" class=\"wp-block-preformatted\">smarty_manage epg_channel_import --epg_source_id=2 --force_import --settings=settings; <\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Import of EPG<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage epg_import --settings=settings.<\/pre>\n\n\n\n<p>The command is required to download the list of transmission programs. If you do not import EPG, then the subscriber will have an empty transmission program and the functionality of the service will be limited.<br>Import can be performed as for all source channels, adding a parameter <code>-epg_source_id<\/code> (<code>-epg_source_name<\/code>and for a particular channel, indicating <code>-epg_channel_id<\/code>. It is recommended to start importing several times a day to maintain relevance.<\/p>\n\n\n\n<p>Parameters:<\/p>\n\n\n\n<p><code>-epg_source_id<\/code> EpgSource identifier in Smarty, for which you need to import a list of transmission programs.<br><code>-epg_source_name<\/code> EpgSource name, for which you need to import a list of programs.<br><code>-epg_channel_id<\/code> EpgChannel identifier, for which you need to import a list of transmission programs.<br><code>-actual_days<\/code> limit the number of days in which the program is considered relevant. Programs older than a given value are considered irrelevant and will be deleted if any.<br><code>create_content<\/code> - when you add this parameter in parallel with the import, collections of imported programs will be created, this is necessary for the work of the section <a href=\"https:\/\/micro.im\/docs\/smarty\/configuring-and-management\/vod-from-archive-records\">\u00abArchive \u00bb<\/a>. In the absence of a parameter <code>-content_client_id<\/code> the collections will be created for all Smarty customers.<br><code>-content_client_id<\/code> When adding a parameter, the creation of collections will be performed only to a certain client. Used in conjunction with the parameter <code>create_content<\/code>.<br><code>-ignore_epg_import<\/code> When this option is added, the team will not import a list of programs. Used in conjunction with the parameter <code>create_content<\/code>.<br><code>-start_date<\/code> The parameter accepts the date from which it is necessary to download the list of transmission programs. Transmitted in YYYY-MM-DD format. With this option, you can download an outdated transmission program, for example, to fill the section \u00abArchive\u00bb past transmissions. <strong>Warning<\/strong>parameter <code>start_date<\/code> higher priority <code>actual_days<\/code>.<br><code>-force_reimport<\/code> 8212; intended for forced importation of EPGs, ignoring the date of the last EPG source update.<\/p>\n\n\n\n<p><code>-force_parser_handling<\/code> \u2014 compulsorily permits the use of parser control transfer. When importing, the date of the last change in the EPG source is checked (if there is a change, the import is carried out). It is necessary for the import optimization process. Equally <code>TVMW_EPG_IMPORT_ALLOW_PARSER_HANDLING=True<\/code>.<br><code>-force_disable_parser_handling<\/code> - forcibly prohibits the use of the transfer of control to the parser. When you add a parameter, you ignore the date of the last change in the EPG source. Equally <code>TVMW_EPG_IMPORT_ALLOW_PARSER_HANDLING=False<\/code>.<\/p>\n\n\n\n<p>Examples of team use:<\/p>\n\n\n\n<p><span style=\"font-size: revert; color: initial;\">Import a list of programs from a certain date: <\/span><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage epg_import --epg_source_id=2 --start_date=2023-07-12 <\/pre>\n\n\n\n<p>Removal of obsolete transmission programmes:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage epg_import --epg_source_id=2 --actual_days=120<\/pre>\n\n\n\n<p>Import programs only for a specific channel:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage epg_import --epg_source_id=2 --epg_channel_id=164 --start_date=2023-07-13<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Import of EPG Prime Minister<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage epg_premiere_import --settings=settings;<\/pre>\n\n\n\n<p>Parameters:<\/p>\n\n\n\n<p><code>-epg_channel_id<\/code> - EpgChannel, for which EPG-premier will be imported.<\/p>\n\n\n\n<p>It is recommended to run 1-2 times a day to maintain the relevance of the list of premieres (see below). <a href=\"https:\/\/mi-smarty-docs.readthedocs.io\/ru\/latest\/service_configuration.html#epg\">Setting up EPG and TV icons<\/a>). If you do not import, then the list of premieres on the subscriber\u2019s device will be empty.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Caching of existing icons<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage recache_icons --settings=settings.<\/pre>\n\n\n\n<p>Called if there is no information about existing icons. The team checks and caches the existence of icons for all EpgChannel by the sizes specified in the&nbsp;<code>SMARTY_DEFAULT_ICON_SIZE<\/code>&nbsp;and&nbsp;<code>SMARTY_DEFAULT_ICON_SIZES<\/code>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Removal of old program posters<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage clean_old_media --settings=settings.<\/pre>\n\n\n\n<p> <span style=\"font-size: revert; color: initial;\">Parameters:   <\/span><\/p>\n\n\n\n<p><code>-actual_days<\/code> The number of days during which the posters are considered relevant. Posters that have been uploaded after a given value are considered irrelevant and will be removed. By default <strong>60<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Broadcasting<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">Checking the availability of streaming services for the fault tolerance mechanism<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage check_stream_services --settings=settings.<\/pre>\n\n\n\n<p>When setting up a fault-tolerant service scheme with load balancing, it is recommended to execute this command every minute. The team checks the services using those verification methods that are configured in the properties of the streaming service.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Updating the availability status of channels and streaming services in the context of technical works<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage <span style=\"background-color: initial; font-family: inherit; font-size: inherit; color: initial;\">check_maintenances<\/span> --<span style=\"background-color: initial; font-family: inherit; font-size: inherit; color: initial;\">client<\/span>=1 --settings=settings.<\/pre>\n\n\n\n<p>The team makes the following arguments:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>-client_id<\/code>&nbsp;(number) \u2014 the client ID for which the check will take place. If not specified, the inspection will take place on all customers.<\/li>\n<\/ul>\n\n\n\n<p>The team gets the right to change the availability of stream services and channels after placing the corresponding checkbox in the fault tolerance settings of the streaming service:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1290\" height=\"510\" src=\"https:\/\/microimpuls.com\/wp-content\/uploads\/2025\/09\/image.png\" alt=\"\" class=\"wp-image-8253\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Monitoring<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"check_streams\">Survey of flow monitoring module analyzers and accident alarm<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage check_streams --settings=settings.<\/pre>\n\n\n\n<p>It is recommended to run every 1-5 minutes for the current state of the data on the stream monitoring page.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Statistics<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"check_streams\">Collection and storage of statistics for each client<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage save_stats --settings=settings.<\/pre>\n\n\n\n<p>This team collects statistics on subscribers (the number of customers, the maximum number of online subscribers, the number of extended subscribers, the number of those who changed the base tariff, etc.) and statistics on transactions. The statistics can be viewed at: <code>smarty.example.com\/viewstats\/customers_dynamic\/.<\/code>It is recommended to start the team once a day.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"check_streams\">Collection of additional statistics for the report on the number of users<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage collect_daily_stats --settings=settings.<\/pre>\n\n\n\n<p>This team collects information that is used in payment reports, as well as in the charts \u201cPayment today\u201d and \u201cSubscribers from whom payment was received\u201d on the subscriber dynamics screen. The command must be run every day at the beginning of the day (record time is saved in UTC+0).<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"check_streams\">Maintaining the maximum number of online subscribers for statistics<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage cache_max_online --settings=settings.<\/pre>\n\n\n\n<p>This command checks the number of users online and stores it in cache if it is more than the previous value. The statistics can be viewed at:<br><code>smarty.example.com\/viewstats\/customers_dynamic\/<\/code>. You can run a team with any regularity, but at least once a day.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"check_streams\">Data caching for subscriber dynamics graphs<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage cache_customers_dynamic --settings=settings.<\/pre>\n\n\n\n<p>Parameters:<\/p>\n\n\n\n<p><code>-client_id<\/code>&nbsp;\u2014 list of customer identifiers by comma for which caching is required. If nothing is transferred to the argument, then the data is cached for all customers.<\/p>\n\n\n\n<p>The team is recommended to run once an hour. For small bases, the charts will work quickly and correctly and without a given command. At the first run, the command can be executed for a long time (depending on the number of accounts, transactions and tariffs) due to the fact that the data for the entire previous month will be calculated. When restarting, data will only be calculated for the last day or hour (the cached data is not cached again). Since a command can take a long time to complete, it is recommended to try for a single client first.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Cleaning the database of storing statistics from old data in Smarty<\/h4>\n\n\n\n<p><em><mark style=\"background-color:#abb8c3\" class=\"has-inline-color\">The team is outdated, starting with the release of Smarty 2.8<\/mark><\/em><\/p>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage reports_remove_old_data --settings=settings.<\/pre>\n\n\n\n<p>Parameters:<\/p>\n\n\n\n<p>&nbsp;<code>-days<\/code>&nbsp;\u2014 data older than a given number of days should be cleared.<\/p>\n\n\n\n<p><code>-hours<\/code>&nbsp;\u2014 data older than this number of hours should be cleaned.<\/p>\n\n\n\n<p><code>--force<\/code>&nbsp;\u2014 forced execution of commands, ignoring questions for the user.<\/p>\n\n\n\n<p>The command allows you to delete the statistical data used for plotting, so as not to store data, for example, a year ago.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"check_streams\">Deletion of old reports<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage delete_old_reports --save-days=30 --settings=settings;<\/pre>\n\n\n\n<p>Parameters:<\/p>\n\n\n\n<p><code>-save-days<\/code>&nbsp;\u2014 the period of time in days for which reports need to be saved.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"check_streams\">Data aggregation for advertising report<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty_manage aggregate_ads_stats --date=\"2025-08-20\" --settings=settings;<\/pre>\n\n\n\n<p>The team is recommended to run once a day.<\/p>\n\n\n\n<p>Parameters:<\/p>\n\n\n\n<p><code>-date<\/code> \u2014 the date for which key aggregation occurs. By default: previous day <\/p>\n\n\n\n<p><code>-scan_chunk_size<\/code> \u2014 portion size of the received keys from radish. The larger the portion \u2014 the faster the team works, but with a longer radish lock. By default <strong>10000<\/strong><\/p>\n\n\n\n<p><code>-delete_chunk_size<\/code> \u2014 portion size of keys to be removed from radish. The larger the portion \u2014 the faster the team works, but with a longer radish lock. By default <strong>10000<\/strong><\/p>\n\n\n\n<p><code>delay<\/code> \u2014 delay between removal of key portions. By default <strong>1<\/strong> one second.<\/p>\n\n\n\n<p><code>-retries <\/code>\u2014 number of attempts to delete one key. If the error occurs more than N times, the key is skipped and a record is added to the log. By default <strong>3 <\/strong>removal attempts.<\/p>\n\n\n\n<p><code>-delay_after_errors<\/code> \u2014 delay after exceeding the number of attempts to delete one key. By default <strong>3<\/strong> seconds.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Migration of subscriber dynamics data from MongoDB<\/h4>\n\n\n\n<p>Team:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">smarty manage migrate account activity --date from= --date to= --settings=settings.&gt;<\/pre>\n\n\n\n<p><strong>Mandatory parameters:<\/strong><\/p>\n\n\n\n<p><code>-date from<\/code> The start date of the period for which statistics must be transferred from MongoDB.<br><code>-date to<\/code> The end date of the period for which statistics must be transferred from MongoDB.<\/p>\n\n\n\n<p><strong>Additional parameters:<\/strong><\/p>\n\n\n\n<p><code>--from settings<\/code> Use the MongoDB connection settings (MONGODB HOST\/MONGODB PORT\/...) from the Smarty configuration file. In the absence of the necessary information, a call is made to localhost (smarty@127.0.0.1:27017 without authorization). By default, the option is turned off and data is taken either from the options below or localhost in the absence of them.<br><code>--name<\/code> It's called MongoDB.<br><code>-host<\/code> - MongoDB host.<br><code>-port<\/code> - DB port MongoDB.<br><code>-username<\/code> The user name of MongoDB.<br><code>password<\/code> - MongoDB password.<br><code>--auth method<\/code> - MongoDB database authentication method.<br><code>timeout<\/code> MongoDB timeout in MS by default <strong>60000<\/strong>.<\/p>","protected":false},"featured_media":0,"parent":1454,"menu_order":3,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_links_to":"","_links_to_target":""},"doc_tag":[],"class_list":["post-1474","docs","type-docs","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u0421\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0435 \u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/microimpuls.com\/en\/docs\/smarty\/configuring-and-management\/management-commands\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u0421\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0435 \u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b\" \/>\n<meta property=\"og:description\" content=\"\u0421\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043a\u0440\u0438\u043f\u0442\u0430 smarty_manage \u0438 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0442\u0435\u0445 \u0438\u043b\u0438 \u0438\u043d\u044b\u0445 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 EPG \u0438\u043b\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u0434\u043b\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u0430. \u0412\u043c\u0435\u0441\u0442\u043e &lt;settings name&gt; \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u0445 \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u0432\u0430\u0448 \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 \/etc\/microimpuls\/smarty\/. \u041e\u0431\u0449\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u0435\u0448\u0430 \u041a\u043e\u043c\u0430\u043d\u0434\u0430: smarty_manage flushall [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/microimpuls.com\/en\/docs\/smarty\/configuring-and-management\/management-commands\/\" \/>\n<meta property=\"og:site_name\" content=\"Microimpuls\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-26T21:41:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/microimpuls.com\/wp-content\/uploads\/2025\/09\/image.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1290\" \/>\n\t<meta property=\"og:image:height\" content=\"510\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"19 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\/management-commands\",\"url\":\"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\/management-commands\",\"name\":\"\u0421\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0435 \u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b\",\"isPartOf\":{\"@id\":\"https:\/\/micro.im\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\/management-commands#primaryimage\"},\"image\":{\"@id\":\"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\/management-commands#primaryimage\"},\"thumbnailUrl\":\"https:\/\/microimpuls.com\/wp-content\/uploads\/2025\/09\/image.png\",\"datePublished\":\"2020-10-06T09:28:04+00:00\",\"dateModified\":\"2026-02-26T21:41:07+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\/management-commands#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\/management-commands\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\/management-commands#primaryimage\",\"url\":\"https:\/\/microimpuls.com\/wp-content\/uploads\/2025\/09\/image.png\",\"contentUrl\":\"https:\/\/microimpuls.com\/wp-content\/uploads\/2025\/09\/image.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\/management-commands#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\",\"item\":\"https:\/\/micro.im\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Smarty\",\"item\":\"https:\/\/microimpuls.com\/docs\/smarty\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0438 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0435 Smarty\",\"item\":\"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"\u0421\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0435 \u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/micro.im\/#website\",\"url\":\"https:\/\/micro.im\/\",\"name\":\"Microimpuls\",\"description\":\"\u041a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0434\u043b\u044f OTT \u0438 IPTV\",\"publisher\":{\"@id\":\"https:\/\/micro.im\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/micro.im\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/micro.im\/#organization\",\"name\":\"Microimpuls\",\"url\":\"https:\/\/micro.im\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/micro.im\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/microimpuls.com\/wp-content\/uploads\/2024\/12\/mi-logo-square-en-black.png\",\"contentUrl\":\"https:\/\/microimpuls.com\/wp-content\/uploads\/2024\/12\/mi-logo-square-en-black.png\",\"width\":208,\"height\":219,\"caption\":\"Microimpuls\"},\"image\":{\"@id\":\"https:\/\/micro.im\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Service and regular teams","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/microimpuls.com\/en\/docs\/smarty\/configuring-and-management\/management-commands\/","og_locale":"en_US","og_type":"article","og_title":"\u0421\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0435 \u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b","og_description":"\u0421\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043a\u0440\u0438\u043f\u0442\u0430 smarty_manage \u0438 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u044b \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0442\u0435\u0445 \u0438\u043b\u0438 \u0438\u043d\u044b\u0445 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 EPG \u0438\u043b\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u0434\u043b\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u0430. \u0412\u043c\u0435\u0441\u0442\u043e &lt;settings name&gt; \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u0445 \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u0432\u0430\u0448 \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 \/etc\/microimpuls\/smarty\/. \u041e\u0431\u0449\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u0435\u0448\u0430 \u041a\u043e\u043c\u0430\u043d\u0434\u0430: smarty_manage flushall [&hellip;]","og_url":"https:\/\/microimpuls.com\/en\/docs\/smarty\/configuring-and-management\/management-commands\/","og_site_name":"Microimpuls","article_modified_time":"2026-02-26T21:41:07+00:00","og_image":[{"width":1290,"height":510,"url":"https:\/\/microimpuls.com\/wp-content\/uploads\/2025\/09\/image.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"19 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\/management-commands","url":"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\/management-commands","name":"Service and regular teams","isPartOf":{"@id":"https:\/\/micro.im\/#website"},"primaryImageOfPage":{"@id":"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\/management-commands#primaryimage"},"image":{"@id":"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\/management-commands#primaryimage"},"thumbnailUrl":"https:\/\/microimpuls.com\/wp-content\/uploads\/2025\/09\/image.png","datePublished":"2020-10-06T09:28:04+00:00","dateModified":"2026-02-26T21:41:07+00:00","breadcrumb":{"@id":"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\/management-commands#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\/management-commands"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\/management-commands#primaryimage","url":"https:\/\/microimpuls.com\/wp-content\/uploads\/2025\/09\/image.png","contentUrl":"https:\/\/microimpuls.com\/wp-content\/uploads\/2025\/09\/image.png"},{"@type":"BreadcrumbList","@id":"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\/management-commands#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/micro.im\/"},{"@type":"ListItem","position":2,"name":"Smarty","item":"https:\/\/microimpuls.com\/docs\/smarty"},{"@type":"ListItem","position":3,"name":"\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0438 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0435 Smarty","item":"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management"},{"@type":"ListItem","position":4,"name":"\u0421\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0435 \u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b"}]},{"@type":"WebSite","@id":"https:\/\/micro.im\/#website","url":"https:\/\/micro.im\/","name":"Microimpulses","description":"Comprehensive solutions for OTT and IPTV","publisher":{"@id":"https:\/\/micro.im\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/micro.im\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/micro.im\/#organization","name":"Microimpulses","url":"https:\/\/micro.im\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/micro.im\/#\/schema\/logo\/image\/","url":"https:\/\/microimpuls.com\/wp-content\/uploads\/2024\/12\/mi-logo-square-en-black.png","contentUrl":"https:\/\/microimpuls.com\/wp-content\/uploads\/2024\/12\/mi-logo-square-en-black.png","width":208,"height":219,"caption":"Microimpuls"},"image":{"@id":"https:\/\/micro.im\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/microimpuls.com\/en\/wp-json\/wp\/v2\/docs\/1474","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/microimpuls.com\/en\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/microimpuls.com\/en\/wp-json\/wp\/v2\/types\/docs"}],"replies":[{"embeddable":true,"href":"https:\/\/microimpuls.com\/en\/wp-json\/wp\/v2\/comments?post=1474"}],"version-history":[{"count":110,"href":"https:\/\/microimpuls.com\/en\/wp-json\/wp\/v2\/docs\/1474\/revisions"}],"predecessor-version":[{"id":9154,"href":"https:\/\/microimpuls.com\/en\/wp-json\/wp\/v2\/docs\/1474\/revisions\/9154"}],"up":[{"embeddable":true,"href":"https:\/\/microimpuls.com\/en\/wp-json\/wp\/v2\/docs\/1454"}],"next":[{"title":"Logging configuration","link":"https:\/\/microimpuls.com\/en\/docs\/smarty\/configuring-and-management\/logging","href":"https:\/\/microimpuls.com\/en\/wp-json\/wp\/v2\/docs\/1550"}],"prev":[{"title":"System parameters","link":"https:\/\/microimpuls.com\/en\/docs\/smarty\/configuring-and-management\/smarty-config","href":"https:\/\/microimpuls.com\/en\/wp-json\/wp\/v2\/docs\/1525"}],"wp:attachment":[{"href":"https:\/\/microimpuls.com\/en\/wp-json\/wp\/v2\/media?parent=1474"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/microimpuls.com\/en\/wp-json\/wp\/v2\/doc_tag?post=1474"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}