Commit 502321d3 authored by lixiaofang's avatar lixiaofang

灌水功能

parent a93815da
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="8a5543fd-f32d-4426-b921-0848e1e04eaf" name="Default Changelist" comment="" />
<list default="true" id="8a5543fd-f32d-4426-b921-0848e1e04eaf" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/click/views/auto_click.py" beforeDir="false" afterPath="$PROJECT_DIR$/click/views/auto_click.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/comment/views/auto_comment.py" beforeDir="false" afterPath="$PROJECT_DIR$/comment/views/auto_comment.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/follow/views/auto_follow.py" beforeDir="false" afterPath="$PROJECT_DIR$/follow/views/auto_follow.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/moment/views/consum.py" beforeDir="false" afterPath="$PROJECT_DIR$/moment/views/consum.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/moment/views/irrigation.py" beforeDir="false" afterPath="$PROJECT_DIR$/moment/views/irrigation.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/moment/views/process_time.py" beforeDir="false" afterPath="$PROJECT_DIR$/moment/views/process_time.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/moment/views/save_data.py" beforeDir="false" afterPath="$PROJECT_DIR$/moment/views/save_data.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/moment/views/vest_ids.txt" beforeDir="false" afterPath="$PROJECT_DIR$/moment/views/vest_ids.txt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/vest/settings.py" beforeDir="false" afterPath="$PROJECT_DIR$/vest/settings.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/vest/settings_local.py" beforeDir="false" afterPath="$PROJECT_DIR$/vest/settings_local.py" afterDir="false" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
......@@ -12,89 +24,114 @@
<session id="39352142">
<usages-collector id="statistics.lifecycle.project">
<counts>
<entry key="project.closed" value="1" />
<entry key="project.open.time.0" value="1" />
<entry key="project.open.time.1" value="1" />
<entry key="project.open.time.24" value="1" />
<entry key="project.opened" value="2" />
<entry key="project.opened" value="3" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.extensions.open">
<counts>
<entry key="py" value="101" />
<entry key="txt" value="6" />
<entry key="py" value="145" />
<entry key="txt" value="9" />
<entry key="vest_ids" value="1" />
<entry key="xml" value="2" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.types.open">
<counts>
<entry key="PLAIN_TEXT" value="7" />
<entry key="Python" value="101" />
<entry key="PLAIN_TEXT" value="10" />
<entry key="Python" value="145" />
<entry key="XML" value="2" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.extensions.edit">
<counts>
<entry key="dummy" value="34" />
<entry key="py" value="5830" />
<entry key="dummy" value="41" />
<entry key="py" value="8814" />
<entry key="txt" value="82" />
<entry key="xml" value="10" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.types.edit">
<counts>
<entry key="PLAIN_TEXT" value="116" />
<entry key="Python" value="5830" />
<entry key="PLAIN_TEXT" value="123" />
<entry key="Python" value="8814" />
<entry key="XML" value="10" />
</counts>
</usages-collector>
</session>
</component>
<component name="FileEditorManager">
<splitter split-orientation="horizontal" split-proportion="0.53833866">
<splitter split-orientation="horizontal" split-proportion="0.8917431">
<split-first>
<splitter split-orientation="horizontal" split-proportion="0.487989">
<split-first>
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/moment/views/consum.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="270">
<caret line="18" column="42" selection-start-line="18" selection-start-column="36" selection-end-line="18" selection-end-column="42" />
<folding>
<element signature="e#46#57#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
</leaf>
</split-first>
<split-second>
<leaf>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/moment/views/irrigation.py">
<entry file="file://$PROJECT_DIR$/click/views/click_fun.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="405">
<caret line="27" selection-start-line="27" selection-end-line="27" />
<state relative-caret-position="135">
<caret line="9" column="15" selection-start-line="9" selection-start-column="15" selection-end-line="9" selection-end-column="15" />
<folding>
<element signature="e#46#57#0" expanded="true" />
<element signature="e#0#36#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/comment/views/auto_comment.py">
<entry file="file://$PROJECT_DIR$/comment/views/comment_fun.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="138">
<caret line="63" column="40" lean-forward="true" selection-start-line="63" selection-start-column="40" selection-end-line="63" selection-end-column="40" />
<state relative-caret-position="90">
<caret line="6" column="11" selection-start-line="6" selection-start-column="4" selection-end-line="6" selection-end-column="11" />
<folding>
<element signature="e#24#39#0" expanded="true" />
<element signature="e#0#36#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/moment/views/process_time.py">
<entry file="file://$PROJECT_DIR$/follow/views/follow_fun.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="287">
<caret line="259" column="42" selection-start-line="259" selection-start-column="42" selection-end-line="259" selection-end-column="42" />
<state relative-caret-position="90">
<caret line="6" column="10" selection-start-line="6" selection-start-column="10" selection-end-line="6" selection-end-column="10" />
<folding>
<element signature="e#24#39#0" expanded="true" />
<marker date="1576662151000" expanded="true" signature="9066:9071" ph="..." />
<element signature="e#0#36#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
</leaf>
</split-second>
</splitter>
</split-first>
<split-second>
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/follow/views/auto_follow.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="589">
<caret line="85" column="29" selection-start-line="85" selection-end-line="86" />
<state relative-caret-position="84">
<caret line="54" column="70" selection-start-line="54" selection-start-column="45" selection-end-line="54" selection-end-column="70" />
<folding>
<element signature="e#24#39#0" expanded="true" />
</folding>
......@@ -103,22 +140,22 @@
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/moment/views/get_keyword.py">
<entry file="file://$PROJECT_DIR$/moment/views/irrigation.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="496">
<caret line="59" selection-start-line="59" selection-start-column="2" selection-end-line="63" selection-end-column="15" />
<state relative-caret-position="103">
<caret line="13" column="34" selection-start-line="13" selection-start-column="7" selection-end-line="13" selection-end-column="34" />
<folding>
<element signature="e#0#12#0" expanded="true" />
<element signature="e#46#57#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/click/views/auto_click.py">
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/comment/views/auto_comment.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="283">
<caret line="53" column="34" selection-start-line="53" selection-start-column="34" selection-end-line="53" selection-end-column="34" />
<state relative-caret-position="58">
<caret line="74" column="38" selection-start-line="74" selection-start-column="38" selection-end-line="74" selection-end-column="38" />
<folding>
<element signature="e#24#39#0" expanded="true" />
</folding>
......@@ -126,22 +163,28 @@
</provider>
</entry>
</file>
</leaf>
</split-first>
<split-second>
<leaf>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/moment/views/consum.py">
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/moment/views/process_time.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="435">
<caret line="77" column="73" selection-start-line="77" selection-start-column="73" selection-end-line="77" selection-end-column="73" />
<state relative-caret-position="85">
<caret line="284" column="16" selection-start-line="284" selection-start-column="16" selection-end-line="284" selection-end-column="16" />
<folding>
<element signature="e#46#57#0" expanded="true" />
<element signature="e#24#39#0" expanded="true" />
<marker date="1577095366000" expanded="true" signature="10304:10309" ph="..." />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/click/views/auto_click.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-615">
<caret line="2" selection-start-line="2" selection-end-line="2" selection-end-column="14" />
</state>
</provider>
</entry>
</file>
</leaf>
</split-second>
</splitter>
......@@ -163,9 +206,28 @@
<find>auto_click_user</find>
<find>auto_comment_user</find>
<find>KAFKA_GM_LOGGING_TOPIC_NAME</find>
<find>get_one_six_days_random_time</find>
<find>get card_info</find>
<find>auto_follow_user</find>
<find>get_content_time_by_create_time</find>
<find>have_get_push_time</find>
<find>bj-cdb-6slgqwlc.sql.tencentcdb.com</find>
<find>comment</find>
<find>have_get_after__time</find>
<find>and time_region</find>
<find>get-------comment---------------card_info</find>
<find>need_pust_num</find>
<find>card_info['have_pust_num'] == card_info['need_pust_num']:</find>
<find>have_comment_number</find>
<find>get--------click--------------card_info</find>
<find>have_click_number</find>
<find>repeat_time</find>
<find>tractate555</find>
</findStrings>
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
......@@ -185,23 +247,28 @@
<option value="$PROJECT_DIR$/click/__init__.py" />
<option value="$PROJECT_DIR$/libs/cache.py" />
<option value="$PROJECT_DIR$/moment/views/test.py" />
<option value="$PROJECT_DIR$/requirements.txt" />
<option value="$PROJECT_DIR$/moment/views/vest_ids.txt" />
<option value="$PROJECT_DIR$/trans2es/management/commands/trans2es_data2es_redis.py" />
<option value="$PROJECT_DIR$/follow/views/auto_follow.py" />
<option value="$PROJECT_DIR$/click/views/auto_click.py" />
<option value="$PROJECT_DIR$/vest/settings_local.py" />
<option value="$PROJECT_DIR$/moment/views/save_data.py" />
<option value="$PROJECT_DIR$/vest/settings.py" />
<option value="$PROJECT_DIR$/moment/views/get_keyword.py" />
<option value="$PROJECT_DIR$/moment/views/save_data.py" />
<option value="$PROJECT_DIR$/moment/views/process_time.py" />
<option value="$PROJECT_DIR$/moment/views/irrigation.py" />
<option value="$PROJECT_DIR$/requirements.txt" />
<option value="$PROJECT_DIR$/vest/settings.py" />
<option value="$PROJECT_DIR$/follow/views/auto_follow.py" />
<option value="$PROJECT_DIR$/comment/views/comment.py" />
<option value="$PROJECT_DIR$/comment/views/auto_comment.py" />
<option value="$PROJECT_DIR$/click/views/auto_click.py" />
<option value="$PROJECT_DIR$/click/views/click_fun.py" />
<option value="$PROJECT_DIR$/comment/views/comment_fun.py" />
<option value="$PROJECT_DIR$/moment/views/consum.py" />
<option value="$PROJECT_DIR$/moment/views/vest_ids.txt" />
<option value="$PROJECT_DIR$/moment/views/process_time.py" />
<option value="$PROJECT_DIR$/follow/views/follow_fun.py" />
</list>
</option>
</component>
<component name="ProjectFrameBounds">
<option name="x" value="-336" />
<component name="ProjectFrameBounds" extendedState="6">
<option name="x" value="-323" />
<option name="y" value="-1080" />
<option name="width" value="1920" />
<option name="height" value="1080" />
......@@ -223,6 +290,9 @@
</profile-state>
</entry>
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="true">
<ConfirmationsSetting value="1" id="Add" />
</component>
<component name="ProjectView">
<navigator proportions="" version="1">
<foldersAlwaysOnTop value="true" />
......@@ -239,12 +309,12 @@
<path>
<item name="vest" type="b2602c69:ProjectViewProjectNode" />
<item name="vest" type="462c0819:PsiDirectoryNode" />
<item name="click" type="462c0819:PsiDirectoryNode" />
<item name="follow" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="vest" type="b2602c69:ProjectViewProjectNode" />
<item name="vest" type="462c0819:PsiDirectoryNode" />
<item name="click" type="462c0819:PsiDirectoryNode" />
<item name="follow" type="462c0819:PsiDirectoryNode" />
<item name="views" type="462c0819:PsiDirectoryNode" />
</path>
<path>
......@@ -278,11 +348,11 @@
<recent name="$PROJECT_DIR$/vest" />
</key>
<key name="CopyFile.RECENT_KEYS">
<recent name="$PROJECT_DIR$/trans2es/management/commands" />
<recent name="$PROJECT_DIR$/trans2es/management" />
<recent name="$PROJECT_DIR$/libs" />
<recent name="$PROJECT_DIR$/click/views" />
<recent name="$PROJECT_DIR$/comment/views" />
<recent name="$PROJECT_DIR$/follow/views" />
<recent name="$PROJECT_DIR$/moment/views" />
</key>
</component>
<component name="RunDashboard">
......@@ -364,47 +434,56 @@
</task>
<servers />
</component>
<component name="TodoView" selected-index="3">
<todo-panel id="selected-file">
<is-autoscroll-to-source value="true" />
</todo-panel>
<todo-panel id="all">
<are-packages-shown value="true" />
<is-autoscroll-to-source value="true" />
</todo-panel>
</component>
<component name="ToolWindowManager">
<frame x="-336" y="-1080" width="1920" height="1080" extended-state="0" />
<frame x="-323" y="-1080" width="1920" height="1080" extended-state="6" />
<editor active="true" />
<layout>
<window_info id="Favorites" order="0" side_tool="true" />
<window_info id="DB Browser" order="1" weight="0.2406672" />
<window_info content_ui="combo" id="Project" order="2" visible="true" weight="0.19589257" />
<window_info id="DB Browser" order="1" weight="0.24065298" />
<window_info active="true" content_ui="combo" id="Project" order="2" visible="true" weight="0.13902053" />
<window_info id="Structure" order="3" side_tool="true" weight="0.25" />
<window_info anchor="bottom" id="Version Control" order="0" show_stripe_button="false" />
<window_info anchor="bottom" id="Terminal" order="1" weight="0.30098686" />
<window_info anchor="bottom" id="Terminal" order="1" weight="0.32953367" />
<window_info anchor="bottom" id="Event Log" order="2" side_tool="true" />
<window_info anchor="bottom" id="Python Console" order="3" />
<window_info anchor="bottom" id="Python Console" order="3" weight="0.4473684" />
<window_info anchor="bottom" id="DB Execution Console" order="4" />
<window_info anchor="bottom" id="Message" order="5" />
<window_info anchor="bottom" id="Find" order="6" weight="0.32953367" />
<window_info active="true" anchor="bottom" id="Run" order="7" visible="true" weight="0.2746114" />
<window_info anchor="bottom" id="Debug" order="8" weight="0.4" />
<window_info anchor="bottom" id="Run" order="7" weight="0.0" />
<window_info anchor="bottom" id="Debug" order="8" visible="true" weight="0.0" />
<window_info anchor="bottom" id="Cvs" order="9" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="10" weight="0.4" />
<window_info anchor="bottom" id="TODO" order="11" />
<window_info anchor="bottom" id="TODO" order="11" weight="0.33367875" />
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
</layout>
<layout-to-restore>
<window_info id="Favorites" order="0" side_tool="true" />
<window_info id="DB Browser" order="1" weight="0.2406672" />
<window_info active="true" content_ui="combo" id="Project" order="2" visible="true" weight="0.25496426" />
<window_info id="DB Browser" order="1" weight="0.24065298" />
<window_info active="true" content_ui="combo" id="Project" order="2" visible="true" weight="0.04050834" />
<window_info id="Structure" order="3" side_tool="true" weight="0.25" />
<window_info anchor="bottom" id="Version Control" order="0" show_stripe_button="false" />
<window_info anchor="bottom" id="Terminal" order="1" weight="0.30098686" />
<window_info anchor="bottom" id="Terminal" order="1" weight="0.0" />
<window_info anchor="bottom" id="Event Log" order="2" side_tool="true" />
<window_info anchor="bottom" id="Python Console" order="3" />
<window_info anchor="bottom" id="Python Console" order="3" weight="0.56792146" />
<window_info anchor="bottom" id="DB Execution Console" order="4" />
<window_info anchor="bottom" id="Message" order="5" />
<window_info anchor="bottom" id="Find" order="6" weight="0.32953367" />
<window_info anchor="bottom" id="Run" order="7" visible="true" weight="0.0" />
<window_info anchor="bottom" id="Run" order="7" weight="0.30984455" />
<window_info anchor="bottom" id="Debug" order="8" weight="0.4" />
<window_info anchor="bottom" id="Cvs" order="9" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="10" weight="0.4" />
<window_info anchor="bottom" id="TODO" order="11" />
<window_info anchor="bottom" id="TODO" order="11" weight="0.7006579" />
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
......@@ -418,23 +497,28 @@
<breakpoints>
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
<url>file://$PROJECT_DIR$/moment/views/process_time.py</url>
<line>243</line>
<line>260</line>
<option name="timeStamp" value="8" />
</line-breakpoint>
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
<url>file://$PROJECT_DIR$/vest/settings_local.py</url>
<line>44</line>
<line>39</line>
<option name="timeStamp" value="10" />
</line-breakpoint>
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
<url>file://$PROJECT_DIR$/moment/views/process_time.py</url>
<line>278</line>
<option name="timeStamp" value="11" />
<url>file://$PROJECT_DIR$/click/views/auto_click.py</url>
<line>55</line>
<option name="timeStamp" value="16" />
</line-breakpoint>
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
<url>file://$PROJECT_DIR$/moment/views/process_time.py</url>
<line>273</line>
<option name="timeStamp" value="12" />
<url>file://$PROJECT_DIR$/follow/views/auto_follow.py</url>
<line>73</line>
<option name="timeStamp" value="17" />
</line-breakpoint>
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
<url>file://$PROJECT_DIR$/moment/views/save_data.py</url>
<line>126</line>
<option name="timeStamp" value="18" />
</line-breakpoint>
</breakpoints>
</breakpoint-manager>
......@@ -454,22 +538,8 @@
<entry file="file://$PROJECT_DIR$/follow/views.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/libs/error.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="270">
<caret line="18" lean-forward="true" selection-start-line="18" selection-end-line="18" />
<folding>
<element signature="e#0#42#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/click/views.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/moment/views.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/click/views.py" />
<entry file="file://$PROJECT_DIR$/moment/views.py" />
<entry file="file://$PROJECT_DIR$/moment/models.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
......@@ -526,9 +596,6 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="150">
<caret line="10" selection-start-line="10" selection-end-line="10" />
<folding>
<element signature="e#0#41#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
......@@ -569,9 +636,6 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
<caret line="5" selection-start-line="5" selection-end-line="5" />
<folding>
<element signature="e#0#12#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
......@@ -582,32 +646,46 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/vest/settings.py">
<entry file="file://$USER_HOME$/gaia_env/lib/python2.7/site-packages/django/conf/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="636">
<caret line="92" column="26" selection-start-line="92" selection-start-column="26" selection-end-line="92" selection-end-column="26" />
<folding>
<element signature="e#303#330#0" expanded="true" />
</folding>
<state relative-caret-position="478">
<caret line="179" selection-start-line="179" selection-end-line="179" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/vest/settings_local.py">
<entry file="file://$USER_HOME$/gaia_env/lib/python2.7/site-packages/kafka/consumer/group.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="675">
<caret line="45" lean-forward="true" selection-start-line="45" selection-end-line="45" />
<folding>
<element signature="e#15#35#0" expanded="true" />
</folding>
<state relative-caret-position="403">
<caret line="1103" column="8" selection-start-line="1103" selection-start-column="8" selection-end-line="1103" selection-end-column="8" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/moment/views/irrigation.py">
<entry file="file://$PROJECT_DIR$/moment/views/vest_ids.txt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="74985">
<caret line="4999" column="9" selection-start-line="4999" selection-start-column="9" selection-end-line="4999" selection-end-column="9" />
</state>
</provider>
</entry>
<entry file="file:///System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/random.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="194">
<caret line="889" selection-start-line="889" selection-end-line="889" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/trans2es/management/__init__.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/trans2es/management/commands/__init__.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/libs/error.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="405">
<caret line="27" selection-start-line="27" selection-end-line="27" />
<state relative-caret-position="270">
<caret line="18" lean-forward="true" selection-start-line="18" selection-end-line="18" />
<folding>
<element signature="e#46#57#0" expanded="true" />
<element signature="e#0#42#0" expanded="true" />
</folding>
</state>
</provider>
......@@ -615,96 +693,154 @@
<entry file="file://$PROJECT_DIR$/requirements.txt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="330">
<caret line="22" column="7" selection-start-line="22" selection-start-column="7" selection-end-line="22" selection-end-column="7" />
<caret line="22" column="11" selection-start-line="22" selection-start-column="11" selection-end-line="22" selection-end-column="11" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/moment/views/consum.py">
<entry file="file://$PROJECT_DIR$/trans2es/management/commands/trans2es_data2es_redis.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="435">
<caret line="77" column="73" selection-start-line="77" selection-start-column="73" selection-end-line="77" selection-end-column="73" />
<state relative-caret-position="165">
<caret line="11" column="27" selection-start-line="11" selection-start-column="27" selection-end-line="11" selection-end-column="27" />
<folding>
<element signature="e#46#57#0" expanded="true" />
<element signature="e#46#97#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/moment/views/vest_ids.txt">
<entry file="file://$PROJECT_DIR$/moment/views/get_keyword.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165">
<caret line="11" selection-start-line="11" selection-end-line="11" />
<state relative-caret-position="643">
<caret line="52" column="48" lean-forward="true" selection-start-line="52" selection-start-column="48" selection-end-line="52" selection-end-column="48" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/vest/settings_local.py">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret column="14" selection-start-column="14" selection-end-column="14" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/vest/settings.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="160">
<caret line="57" selection-start-line="57" selection-end-line="57" />
<folding>
<element signature="e#303#330#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/moment/views/save_data.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="150">
<caret line="10" column="39" selection-start-line="10" selection-start-column="39" selection-end-line="10" selection-end-column="39" />
<state relative-caret-position="270">
<caret line="300" column="41" lean-forward="true" selection-start-line="300" selection-start-column="41" selection-end-line="300" selection-end-column="41" />
<folding>
<element signature="e#46#58#0" expanded="true" />
<element signature="e#381#4140#0" />
<element signature="e#4158#8383#0" />
<element signature="e#8399#12717#0" />
<element signature="e#12737#17282#0" />
<element signature="e#17304#21926#0" />
<element signature="e#21945#26982#0" />
<element signature="e#26999#31880#0" />
<element signature="e#31901#38048#0" />
<element signature="e#38070#44352#0" />
<element signature="e#44366#46757#0" />
<element signature="e#46773#49274#0" />
<element signature="e#49298#52936#0" />
<element signature="e#379#4138#0" />
<element signature="e#4156#8381#0" />
<element signature="e#8397#12715#0" />
<element signature="e#12735#17280#0" />
<element signature="e#17302#21924#0" />
<element signature="e#21943#26980#0" />
<element signature="e#26997#31878#0" />
<element signature="e#31899#38046#0" />
<element signature="e#38068#41671#0" />
<element signature="e#41671#43888#0" />
<element signature="e#43120#44354#0" />
<element signature="e#44374#46220#0" />
<element signature="e#45523#48676#0" />
<element signature="e#44364#46755#0" />
<element signature="e#46771#49272#0" />
<element signature="e#49296#52934#0" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/click/views/auto_click.py">
<entry file="file://$PROJECT_DIR$/follow/views/auto_follow.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="283">
<caret line="53" column="34" selection-start-line="53" selection-start-column="34" selection-end-line="53" selection-end-column="34" />
<state relative-caret-position="84">
<caret line="54" column="70" selection-start-line="54" selection-start-column="45" selection-end-line="54" selection-end-column="70" />
<folding>
<element signature="e#24#39#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/follow/views/auto_follow.py">
<entry file="file://$PROJECT_DIR$/moment/views/irrigation.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="589">
<caret line="85" column="29" selection-start-line="85" selection-end-line="86" />
<state relative-caret-position="103">
<caret line="13" column="34" selection-start-line="13" selection-start-column="7" selection-end-line="13" selection-end-column="34" />
<folding>
<element signature="e#24#39#0" expanded="true" />
<element signature="e#46#57#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/moment/views/get_keyword.py">
<entry file="file://$PROJECT_DIR$/click/views/auto_click.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="496">
<caret line="59" selection-start-line="59" selection-start-column="2" selection-end-line="63" selection-end-column="15" />
<state relative-caret-position="-615">
<caret line="2" selection-start-line="2" selection-end-line="2" selection-end-column="14" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/moment/views/process_time.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="85">
<caret line="284" column="16" selection-start-line="284" selection-start-column="16" selection-end-line="284" selection-end-column="16" />
<folding>
<element signature="e#0#12#0" expanded="true" />
<element signature="e#24#39#0" expanded="true" />
<marker date="1577095366000" expanded="true" signature="10304:10309" ph="..." />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/comment/views/auto_comment.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="138">
<caret line="63" column="40" lean-forward="true" selection-start-line="63" selection-start-column="40" selection-end-line="63" selection-end-column="40" />
<state relative-caret-position="58">
<caret line="74" column="38" selection-start-line="74" selection-start-column="38" selection-end-line="74" selection-end-column="38" />
<folding>
<element signature="e#24#39#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/moment/views/process_time.py">
<entry file="file://$PROJECT_DIR$/click/views/click_fun.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="287">
<caret line="259" column="42" selection-start-line="259" selection-start-column="42" selection-end-line="259" selection-end-column="42" />
<state relative-caret-position="135">
<caret line="9" column="15" selection-start-line="9" selection-start-column="15" selection-end-line="9" selection-end-column="15" />
<folding>
<element signature="e#24#39#0" expanded="true" />
<marker date="1576662151000" expanded="true" signature="9066:9071" ph="..." />
<element signature="e#0#36#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/comment/views/comment_fun.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90">
<caret line="6" column="11" selection-start-line="6" selection-start-column="4" selection-end-line="6" selection-end-column="11" />
<folding>
<element signature="e#0#36#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/moment/views/consum.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="270">
<caret line="18" column="42" selection-start-line="18" selection-start-column="36" selection-end-line="18" selection-end-column="42" />
<folding>
<element signature="e#46#57#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/follow/views/follow_fun.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90">
<caret line="6" column="10" selection-start-line="6" selection-start-column="10" selection-end-line="6" selection-end-column="10" />
<folding>
<element signature="e#0#36#0" expanded="true" />
</folding>
</state>
</provider>
......
......@@ -7,11 +7,12 @@ import time
from moment.views.process_time import get_content_time_by_create_time, get_click_follow_time_by_create_time, \
get_vest_userid
from moment.views.process_time import save_data_to_kafka
from libs.error import logging_exception
logger = logging.getLogger(__name__)
def auto_click_user(card_info):
def auto_click_user(card_info, after_day=False):
"""
发帖后2小时:[1-3]个赞
......@@ -47,9 +48,22 @@ def auto_click_user(card_info):
"all_follow_id" not in card_info and "all_push_time" not in card_info):
###根据创建时间回答等级去获取对应的下发时间
get_time = get_click_follow_time_by_create_time(create_time, content_level, action_type="follow")
if len(get_time) > 0:
while True:
repeat_time = 1
if card_info['type'] == "get_write_answer_userinfo":
repeat_time = 0
card_info['have_click_number'] = 0
get_time, time_region = get_click_follow_time_by_create_time(create_time, content_level,
action_type="click",
after_day=after_day,
card_info=card_info,
repeat_time=repeat_time)
logging.info("get get_time and time_region:%s" % get_time)
if len(get_time) > 0 and time_region != 3:
###拿到下发时间后根据下发的时间个数去拿对应个数的马甲账号
userids = get_vest_userid(need_comment_num=len(get_time))
for i in range(0, len(userids)):
......@@ -60,10 +74,12 @@ def auto_click_user(card_info):
card_info['all_push_time'] = get_time
card_info["need_pust_num"] = len(userids)
card_info["have_pust_num"] = 0
save_data_to_kafka(card_info) # 存储数据
save_data_to_kafka(card_info)
break
else:
pass
if time_region == 3:
break
repeat_time += 1
else: # 代表还有push好的时间没有下发完成 需要继续使用这些
......@@ -74,14 +90,15 @@ def auto_click_user(card_info):
card_info['all_push_time'].remove(current_push_time)
if len(card_info["all_follow_id"]) > 0:
card_info["current_user_id"] = card_info["all_follow_id"].pop()
card_info["current_user_id"] = card_info["all_follow_id"][0]
if len(card_info["all_follow_id"]) > 0:
card_info['current_push_time'] = card_info['all_push_time'].pop()
card_info['current_push_time'] = card_info['all_push_time'][0]
card_info["have_pust_num"] = card_info["have_pust_num"] + 1
save_data_to_kafka(card_info) # 存储数据
logging.info("get--------click--------------card_info:%s" % card_info)
except:
logging_exception()
logging.error("catch exception,err_msg:%s" % traceback.format_exc())
from libs.rpc import get_rpc_invoker
import traceback
from libs.error import logging_exception
import logging
def click(card_info):
try:
rpc_invoker = get_rpc_invoker()
data = rpc_invoker['qa/irrigation/create_answer_vote'](user_id=card_info['current_user_id'],
answer_id=card_info['card_id']).unwrap()
except:
logging_exception()
logging.error("catch exception,err_msg:%s" % traceback.format_exc())
......@@ -6,11 +6,12 @@ import random
import time
from moment.views.process_time import get_content_time_by_create_time, get_vest_userid_and_comment, get_vest_userid
from moment.views.process_time import save_data_to_kafka
from libs.error import logging_exception
logger = logging.getLogger(__name__)
def auto_comment_user(card_info):
def auto_comment_user(card_info, after_day=False):
"""
当天发布之后
......@@ -48,34 +49,53 @@ def auto_comment_user(card_info):
create_time = card_info["create_time"]
content_level = card_info["content_level"]
card_info["action_type"] = "comment"
tag_names = card_info['tag_names']
# 当满足这些条件的时候 代表已经完成了下发的所有的时间或者还没有下发过时间 需要给予新的时间
if ("all_follow_id" in card_info and "all_push_time" in card_info and len(
card_info['all_follow_id']) == 0 and len(card_info['all_push_time']) == 0) or (
"all_follow_id" not in card_info and "all_push_time" not in card_info):
###根据创建时间回答等级去获取对应的下发时间
get_time = get_content_time_by_create_time(create_time, content_level, action_type="follow")
if len(get_time) > 0:
"all_follow_id" not in card_info and "all_push_time" not in card_info and card_info[
'type'] == "get_write_answer_userinfo"):
while True:
repeat_time = 1
if card_info['type'] == "get_write_answer_userinfo":
repeat_time = 0
card_info['have_comment_number'] = 0
get_time, time_region = get_content_time_by_create_time(create_time, content_level,
action_type="comment",
after_day=after_day,
card_info=card_info,
repeat_time=repeat_time)
logging.info("get get_time and time_region:%s" % get_time)
if len(get_time) > 0 and time_region != 3:
###拿到下发时间后根据下发的时间个数去拿对应个数的马甲账号
all_content = get_vest_userid_and_comment(need_comment_num=len(get_time), tag_names=tag_names)
all_userids = get_vest_userid(need_comment_num=len(get_time))
for i in range(0, len(all_userids)):
card_info["all_follow_id"] = all_userids
card_info["current_user_id"] = all_userids[0]
all_content = get_vest_userid_and_comment(need_comment_num=len(get_time),
tag_names=tag_names,
card_id=card_info['card_id'])
userids = get_vest_userid(need_comment_num=len(get_time))
for i in range(0, len(userids)):
card_info["all_follow_id"] = userids
card_info["current_user_id"] = userids[0]
card_info['type'] = "have_get_push_time"
card_info['current_push_time'] = get_time[0]
card_info['all_push_time'] = get_time
card_info["need_pust_num"] = len(all_userids)
card_info["need_pust_num"] = len(userids)
card_info["have_pust_num"] = 0
card_info['comment_content'] = all_content[i]
save_data_to_kafka(card_info) # 存储数据
card_info["all_content"] = all_content
if len(all_content) > 0:
card_info['comment_content'] = all_content[0]
save_data_to_kafka(card_info)
break
else:
pass
if time_region == 3:
break
repeat_time += 1
logging.info("get have_get_after__time:%s" % card_info)
else: # 代表还有push好的时间没有下发完成 需要继续使用这些
logging.info("get-------comment---------------card_info:%s" % card_info)
......@@ -85,14 +105,21 @@ def auto_comment_user(card_info):
card_info['all_push_time'].remove(current_push_time)
card_info["have_pust_num"] = card_info["have_pust_num"] + 1
comment_content = card_info["comment_content"]
card_info["all_content"].remove(comment_content)
if len(card_info["all_content"]) > 0:
card_info["comment_content"] = card_info["all_content"][0]
if len(card_info["all_follow_id"]) > 0:
card_info["current_user_id"] = card_info["all_follow_id"].pop()
card_info["current_user_id"] = card_info["all_follow_id"][0]
if len(card_info["all_follow_id"]) > 0:
card_info['current_push_time'] = card_info['all_push_time'].pop()
card_info['current_push_time'] = card_info['all_push_time'][0]
save_data_to_kafka(card_info) # 存储数据
logging.info("get-------comment---------------card_info:%s" % card_info)
except:
logging_exception()
logging.error("catch exception,err_msg:%s" % traceback.format_exc())
from libs.rpc import get_rpc_invoker
import traceback
from libs.error import logging_exception
import logging
def comment(card_info):
try:
rpc_invoker = get_rpc_invoker()
rpc_invoker['qa/irrigation/create_answer_reply'](user_id=card_info['current_user_id'],
answer_id=card_info['card_id'],
content=card_info['comment_content']).unwrap()
except:
logging_exception()
logging.error("catch exception,err_msg:%s" % traceback.format_exc())
......@@ -7,11 +7,12 @@ import time
from moment.views.process_time import get_content_time_by_create_time, get_click_follow_time_by_create_time, \
get_vest_userid
from moment.views.process_time import save_data_to_kafka
from libs.error import logging_exception
logger = logging.getLogger(__name__)
def auto_follow_user(card_info):
def auto_follow_user(card_info, after_day=False):
"""
灌水功能下发关注
发帖后2小时:[1-3]个粉丝
......@@ -48,8 +49,21 @@ def auto_follow_user(card_info):
"all_follow_id" not in card_info and "all_push_time" not in card_info):
###根据创建时间回答等级去获取对应的下发时间
get_time = get_click_follow_time_by_create_time(create_time, content_level, action_type="follow")
if len(get_time) > 0:
while True:
repeat_time = 1
if card_info['type'] == "get_write_answer_userinfo":
repeat_time = 0
card_info['have_follow_number'] = 0
get_time, time_region = get_click_follow_time_by_create_time(create_time, content_level,
action_type="follow",
after_day=after_day,
card_info=card_info,
repeat_time=repeat_time)
logging.info("get get_time and time_region:%s" % get_time)
if len(get_time) > 0 and time_region != 3:
###拿到下发时间后根据下发的时间个数去拿对应个数的马甲账号
userids = get_vest_userid(need_comment_num=len(get_time))
......@@ -61,10 +75,14 @@ def auto_follow_user(card_info):
card_info['all_push_time'] = get_time
card_info["need_pust_num"] = len(userids)
card_info["have_pust_num"] = 0
save_data_to_kafka(card_info) # 存储数据
save_data_to_kafka(card_info)
break
else:
pass
if time_region == 3:
break
repeat_time += 1
logging.info("get have_get_after__time:%s" % card_info)
else: # 代表还有push好的时间没有下发完成 需要继续使用这些
logging.info("get-----follow----card_info:%s" % card_info)
......@@ -85,6 +103,6 @@ def auto_follow_user(card_info):
logging.info("get-----follow----card_info:%s" % card_info)
except:
logging_exception()
logging.error("catch exception,err_msg:%s" % traceback.format_exc())
from libs.rpc import get_rpc_invoker
import traceback
from libs.error import logging_exception
import logging
def follow(card_info):
try:
rpc_invoker = get_rpc_invoker()
rpc_invoker['api/irrigation/user_add_follow'](follow_user_id=card_info['current_user_id'],
followed_user_id=card_info['card_user_id']).unwrap()
except:
logging_exception()
logging.error("catch exception,err_msg:%s" % traceback.format_exc())
......@@ -9,79 +9,106 @@ from django.conf import settings
from follow.views.auto_follow import auto_follow_user
from click.views.auto_click import auto_click_user
from comment.views.auto_comment import auto_comment_user
from moment.views.process_time import save_data_to_kafka
import datetime
import time
import logging
from libs.error import logging_exception
from click.views.click_fun import click
from comment.views.comment_fun import comment
from follow.views.follow_fun import follow
def kafka_consum(topic_name=None):
try:
topic_name = settings.KAFKA_TOPIC_NAME if not topic_name else topic_name
consumser_obj = KafkaConsumer(topic_name, bootstrap_servers=[settings.KAFKA_BROKER_LIST])
logging.info("get consumser_obj:%s" % consumser_obj)
consumser_obj = KafkaConsumer(topic_name, bootstrap_servers=[settings.KAFKA_BROKER_LIST], enable_auto_commit=False,
auto_commit_interval_ms=100, group_id="vest")
try:
while True:
msg_dict = consumser_obj.poll(timeout_ms=100)
msg_dict = consumser_obj.poll(timeout_ms=100, max_records=10)
for msg_key in msg_dict:
consume_msg = msg_dict[msg_key]
for msg in consume_msg:
card_info = json.loads(msg.value)
if card_info['card_type'] == "tractate777":
logging.info("+++++++++++++++++++++++++新的数据进来了+++++++++++++++++++++++")
logging.info("get card_info:%s" % card_info)
# 代表当天数据
current_push_time = card_info['current_push_time']
create_time = card_info['create_time']
action_type = card_info['action_type']
nowtime = datetime.datetime.now()
# nowtime = now.strftime('%Y-%m-%d %H:%M:%S')
push_time_date = datetime.datetime.strptime(current_push_time, '%Y-%m-%d %H:%M:%S')
logging.info("get push_time_date:%s" % push_time_date)
logging.info("get push_time_date:%s" % type(push_time_date))
logging.info("get nowtime:%s" % nowtime)
logging.info("get nowtime:%s" % type(nowtime))
if push_time_date <= nowtime: # push_time已经到时间了 需要去下发
logging.info("get push_time_date:%s" % push_time_date)
# 判断如果当前的push_time 和当前的创建时间一样 需要给push_time下发真的push时间
if current_push_time == create_time:
auto_follow_user(card_info)
auto_comment_user(card_info)
auto_click_user(card_info)
if action_type == "comment":
auto_comment_user(card_info, after_day=True)
elif action_type == "click":
auto_click_user(card_info, after_day=True)
elif action_type == "follow":
auto_follow_user(card_info, after_day=True)
else:
# current_push_time = card_info['current_push_time']
# current_time = datetime.datetime.strptime(current_push_time, '%Y-%m-%d %H:%M:%S')
# now = datetime.datetime.now()
# 需要判断是否真的已经下发完了 如果是时间过了但是没有下发直接下发了
# 当前已下发完 需要判断最新一次的下发时间是否是今天 是的话直接跳过
if card_info['have_pust_num'] == card_info['need_pust_num']:
if nowtime.day - push_time_date.day == 0: # 是今天的话直接跳过
pass
else:
# 再存储起来?
pass
# 还有一种是下发时间还没有到 之前没有轮询到
# 当前已下发完 需要判断最新一次的下发时间是否是今天 是的话直接保存起来,l=轮询等待明天再下发
if card_info['have_pust_num'] == card_info['need_pust_num']:
if nowtime.day - push_time_date.day == 0: # 今日的已经下发完了,需要去取之后的
action_type = card_info['action_type']
logging.info("get-------今天已经下发完了----------------")
if action_type == "comment":
auto_comment_user(card_info, after_day=True)
elif action_type == "click":
auto_click_user(card_info, after_day=True)
elif action_type == "follow":
auto_follow_user(card_info, after_day=True)
else:
if card_info['have_pust_num'] <= card_info['need_pust_num'] and \
pass
else: # 还有一种是下发时间已到
action_type = card_info['action_type']
if card_info['have_pust_num'] < card_info['need_pust_num'] and \
push_time_date < nowtime:
if action_type == "comment": # 在这里去调评论的接口
logging.info("get------------------comment-----------------")
if 'have_comment_number' in card_info and \
card_info['have_comment_number'] < 20:
card_info["have_comment_number"] += 1
logging.info("get------xiafa------------vestcomment:%s" % card_info)
# 调完接口后需要再次去拿新的push_time的时间
auto_comment_user(card_info)
elif action_type == "click": # 在这里去调点赞的接口
logging.info("get--------------click---------------------")
if 'have_click_number' in card_info and card_info['have_click_number'] < 20:
card_info["have_click_number"] += 1
logging.info("get------xiafa------------vestclick:%s" % card_info)
auto_click_user(card_info)
elif action_type == "follow": # 在这里去调关注的接口
logging.info("get----------follow-------------------------")
if 'have_follow_number' in card_info and \
card_info['have_follow_number'] < 20:
logging.info("get------xiafa------------vestfollow:%s" % card_info)
card_info["have_follow_number"] += 1
auto_follow_user(card_info)
else: # push_time时间未到 需要等待
logging.info("push_time时间未到========================需要等待")
save_data_to_kafka(card_info)
pass
consumser_obj.commit_async()
except:
consumser_obj.close()
logging_exception()
logging.error("catch exception,err_msg:%s" % traceback.format_exc())
......@@ -12,20 +12,50 @@ import logging
@bind('vest/moment/vest_irrigation')
def vest_irrigation(card_id=0, card_type=None, create_time="", content_level=0, tag_names=[]):
def vest_irrigation(card_id=0, card_type=None, card_user_id=None, create_time="", content_level=0, tag_names=[]):
try:
producer = KafkaProducer(bootstrap_servers=[settings.KAFKA_BROKER_LIST])
topic = settings.KAFKA_TOPIC_NAME
msg_dict = {
comment_msg_dict = {
"card_id": card_id,
"card_type": card_type,
"create_time": create_time,
"content_level": content_level,
"tag_names": tag_names,
"type": "get_write_answer_userinfo",
"current_push_time": create_time
"current_push_time": create_time,
'action_type': 'comment'
}
producer.send(topic, json.dumps(comment_msg_dict).encode())
follow_msg_dict = {
"card_id": card_id,
"card_type": card_type,
"create_time": create_time,
"content_level": content_level,
"tag_names": tag_names,
"type": "get_write_answer_userinfo",
"current_push_time": create_time,
'action_type': 'follow',
'card_user_id': card_user_id
}
producer.send(topic, json.dumps(msg_dict).encode())
producer.send(topic, json.dumps(follow_msg_dict).encode())
click_msg_dict = {
"card_id": card_id,
"card_type": card_type,
"create_time": create_time,
"content_level": content_level,
"tag_names": tag_names,
"type": "get_write_answer_userinfo",
"current_push_time": create_time,
'action_type': 'click'
}
producer.send(topic, json.dumps(click_msg_dict).encode())
producer.close()
except:
......
......@@ -12,6 +12,7 @@ import json
from libs.cache import redis_client
from moment.views.get_keyword import GetContentKeyWords
import pymysql
from bs4 import BeautifulSoup
logger = logging.getLogger(__name__)
......@@ -28,7 +29,7 @@ def randomDate(create_time, frmt='%Y-%m-%d %H:%M:%S', action_type=None):
action_num = random.randint(1, 3)
if action_type == "comment":
action_num = random.randint(0, 1)
action_num = random.randint(1, 1)
start = str(create_time + datetime.timedelta(hours=2))
end = str(create_time + datetime.timedelta(hours=4))
......@@ -47,52 +48,62 @@ def get_list(date):
return datetime.datetime.strptime(date, "%Y-%m-%d %H:%M:%S").timestamp()
def get_one_six_days_random_time(frmt='%Y-%m-%d %H:%M:%S', num_days=0, action_type=None, content_level=0):
def get_one_six_days_random_time(frmt='%Y-%m-%d %H:%M:%S', num_days=0, action_type=None, content_level=0,
content_day_need_add_one_day=False):
try:
if num_days == 1 and action_type in ("follow", "click") and content_level < 3:
action_num = 0
if num_days == 1 and action_type in ("follow", "click") and int(content_level) < 3:
action_num = random.randint(1, 3)
if num_days == 1 and action_type in ("follow") and content_level >= 3:
if num_days == 1 and action_type in ("follow") and int(content_level) >= 3:
action_num = random.randint(5, 10)
if num_days <= 15 and num_days > 1 and action_type in ("follow", "click") and content_level < 3:
if num_days <= 15 and num_days > 1 and action_type in ("follow", "click") and int(content_level) < 3:
action_num = random.randint(0, 1)
if num_days <= 15 and num_days > 1 and action_type in ("follow") and content_level >= 3:
if num_days <= 15 and num_days > 1 and action_type in ("follow") and int(content_level) >= 3:
action_num = random.randint(0, 5)
if num_days == 1 and action_type in ("click") and content_level >= 3:
if num_days == 1 and action_type in ("click") and int(content_level) >= 3:
action_num = random.randint(6, 12)
if num_days <= 15 and num_days > 1 and action_type in ("click") and content_level >= 3:
if num_days <= 15 and num_days > 1 and action_type in ("click") and int(content_level) >= 3:
action_num = random.randint(0, 6)
if num_days >= 1 and num_days <= 6 and action_type in ("comment"):
if content_level <= 3:
if int(content_level) <= 3:
action_num = random.randint(0, 1)
else:
action_num = random.randint(2, 4)
now = datetime.datetime.now()
zeroday = str(datetime.datetime(now.year, now.month, now.day, 0, 0, 0))
lastday = str(datetime.datetime(now.year, now.month, now.day + 1, 0, 0, 0))
if content_day_need_add_one_day == True:
nows = now
now = nows + datetime.timedelta(days=1)
zeroday = str(datetime.datetime(now.year, now.month, now.day, 10, 0, 0))
lastday = str(datetime.datetime(now.year, now.month, now.day, 23, 0, 0))
random_times = [randomDate_six_one(zeroday, lastday, frmt) for _ in range(action_num)]
have_sort_times = sorted(random_times, key=lambda date: get_list(date))
return have_sort_times
except:
logger.error("catch exception,err_log:%s" % traceback.format_exc())
return False
return []
def get_ten_last_days_random_time(num_days=None, frmt='%Y-%m-%d %H:%M:%S', action_type=None, content_level=0):
def get_ten_last_days_random_time(num_days=None, frmt='%Y-%m-%d %H:%M:%S', action_type=None, content_level=0,
content_day_need_add_one_day=False):
try:
##比较当前时间和最后一次创建时间的差
now = datetime.datetime.now()
zeroday = datetime.datetime(now.year, now.month, now.day, 10, 0, 0)
lastday = datetime.datetime(now.year, now.month, now.day, 23, 0, 0)
add_number = 0
if num_days > 15 and action_type in ("follow"):
action_num = random.randint(0, 2)
add_number = 10
if num_days > 15 and action_type in ("click"):
elif num_days > 15 and action_type in ("click"):
if content_level < 3:
action_num = random.randint(0, 1)
add_number = 6
......@@ -101,7 +112,7 @@ def get_ten_last_days_random_time(num_days=None, frmt='%Y-%m-%d %H:%M:%S', actio
action_num = random.randint(0, 2)
add_number = 5
if num_days > 6 and action_type in ("comment"):
elif num_days > 6 and action_type in ("comment"):
if content_level <= 3:
action_num = random.randint(0, 1)
add_number = 10
......@@ -109,136 +120,142 @@ def get_ten_last_days_random_time(num_days=None, frmt='%Y-%m-%d %H:%M:%S', actio
action_num = random.randint(0, 2)
add_number = 10
zeroday = str(datetime.datetime(now.year, now.month, now.day + add_number, 0, 0, 0))
lastday = str(datetime.datetime(now.year, now.month, now.day + add_number + 1, 0, 0, 0))
random_times = [randomDate_six_one(zeroday, lastday, frmt) for _ in range(action_num)]
else:
pass
if content_day_need_add_one_day == True:
start_time = zeroday + datetime.timedelta(days=add_number + 1)
end_time = lastday + datetime.timedelta(days=add_number + 1)
else:
start_time = zeroday + datetime.timedelta(days=add_number)
end_time = lastday + datetime.timedelta(days=add_number)
random_times = [randomDate_six_one(start_time, end_time, frmt) for _ in range(action_num)]
have_sort_times = sorted(random_times, key=lambda date: get_list(date))
return have_sort_times
except:
logger.error("catch exception,err_log:%s" % traceback.format_exc())
return False
return []
def get_content_time_by_create_time(create_time="", content_level=0, action_type=None, is_today=False):
def get_content_time_by_create_time(create_time="", content_level=0, action_type=None, after_day=False, card_info=None,
repeat_time=0):
try:
min = 60
card_info['type'] = 'have_get_push_time'
card_info['have_comment_number'] = 0
now = datetime.datetime.now()
createt = datetime.datetime.strptime(create_time, '%Y-%m-%d %H:%M:%S')
nowt = now.strftime('%Y-%m-%d %H:%M:%S')
# nowt = now.strftime('%Y-%m-%d %H:%M:%S')
##获取创建时间和当前时间的相差秒数
num = (now - createt).total_seconds()
# num = (now - createt).total_seconds()
num_days = now.day - createt.day
content_day_need_add_one_day = False
if after_day == True and card_info is not None:
num_days += repeat_time
content_day_need_add_one_day = True
# 创建时间切换成分钟数便于比较
mins = divmod(num, min)[0]
logging.info("get num_days:%s" % num_days)
# mins = divmod(num, min)[0]
##根据转换后的分钟数进行比较
##转化成分数后进行一层一层的比较
if is_today == True:
if mins < 120 and num_days == 0:
print("时候未到")
return []
##进入当天的下发时间
elif mins >= 120 and num_days == 0:
print("当天")
get_time = randomDate(create_time=createt, action_type=action_type)
return get_time
else:
if mins < 120 and num_days == 0:
print("时候未到")
return []
##进入当天的下发时间
elif mins >= 120 and mins <= 4 * 60 and num_days == 0:
if num_days == 0:
print("当天")
get_time = randomDate(create_time=createt, action_type=action_type)
print(get_time)
return get_time
time_region = 0
return get_time, time_region
elif num_days >= 1 and num_days <= 6:
print("1-6天的")
get_time = get_one_six_days_random_time(content_level=content_level, num_days=num_days,
action_type=action_type)
print(get_time)
return get_time
action_type=action_type,
content_day_need_add_one_day=content_day_need_add_one_day)
time_region = 1
return get_time, time_region
elif num_days > 6 and num_days <= 365:
print("6天后的")
push_time = '2019-12-16 16:23:20'
get_time = get_ten_last_days_random_time(num_days=num_days, content_level=content_level)
print(get_time)
return get_time
get_time = get_ten_last_days_random_time(num_days=num_days, content_level=content_level,
content_day_need_add_one_day=content_day_need_add_one_day)
time_region = 2
return get_time, time_region
else:
##需要删掉kafka的数据不再进行下发
print("所有下发结束")
return []
return [], 3
except:
logger.error("catch exception,err_log:%s" % traceback.format_exc())
return [], 5
def get_click_follow_time_by_create_time(create_time="", content_level=0, action_type=None):
def get_click_follow_time_by_create_time(create_time="", content_level=0, action_type=None, after_day=False,
card_info=None, repeat_time=0):
try:
min = 60
card_info['have_click_number'] = 0
card_info['have_follow_number'] = 0
now = datetime.datetime.now()
createt = datetime.datetime.strptime(create_time, '%Y-%m-%d %H:%M:%S')
nowt = now.strftime('%Y-%m-%d %H:%M:%S')
##获取创建时间和当前时间的相差秒数
num = (now - createt).total_seconds()
num_days = now.day - createt.day
content_day_need_add_one_day = False
if after_day:
num_days += repeat_time
content_day_need_add_one_day = True
# 创建时间切换成分钟数便于比较
mins = divmod(num, min)[0]
# mins = divmod(num, min)[0]
##根据转换后的分钟数进行比较
##转化成分数后进行一层一层的比较
if mins < 120 and num_days == 0:
print("时候未到")
return []
##进入当天的下发时间
elif mins >= 120 and num_days == 0:
if num_days == 0:
print("当天")
get_time = randomDate(create_time=createt, action_type=action_type)
logging.info("拿到当天的时间 get get_time:%s" % get_time)
return get_time
return get_time, 0
elif num_days == 1:
print("1天的")
get_time = get_one_six_days_random_time(num_days=num_days, action_type=action_type,
content_level=content_level)
content_level=content_level,
content_day_need_add_one_day=content_day_need_add_one_day)
logging.info("1天的 get get_time:%s" % get_time)
print(get_time)
return get_time
return get_time, 1
elif num_days > 1 and num_days <= 15:
print("2-15天后的")
get_time = get_one_six_days_random_time(num_days=num_days, action_type=action_type,
content_level=content_level)
content_level=content_level,
content_day_need_add_one_day=content_day_need_add_one_day)
logging.info("2-15天后的的时间 get get_time:%s" % get_time)
print(get_time)
return get_time
return get_time, 2
elif num_days > 15 and num_days <= 365:
##需要删掉kafka的数据不再进行下发
print("15天后的")
get_time = get_ten_last_days_random_time(num_days=num_days, action_type=action_type,
content_level=content_level)
logging.info("拿到当天的时间 get get_time:%s" % get_time)
content_level=content_level,
content_day_need_add_one_day=content_day_need_add_one_day)
logging.info("拿到15天后的时间 get get_time:%s" % get_time)
return get_time
return get_time, 4
else:
print("所有下发结束")
return []
return [], 3
except:
logger.error("catch exception,err_log:%s" % traceback.format_exc())
return [], 5
def save_data_to_kafka(card_info):
......@@ -267,21 +284,28 @@ def get_vest_userid(need_comment_num=0):
def get_vest_userid_and_comment(need_comment_num=0, tag_names=[], card_id=0):
try:
##先根据card_id回去内容提取关键字
db_zhengxing_eagle = pymysql.connect(host=settings.DATABASES.HOST, port=3306, user=settings.DATABASES.USER,
password=settings.DATABASES.PASSWORD,
db=settings.DATABASES.NAME,
cursorclass=pymysql.cursors.DictCursor)
zhengxing_cursor = db_zhengxing_eagle.cursor()
sql = 'select name from api_tag where id = %s ' % (card_id)
zhengxing_cursor.execute(sql)
data = zhengxing_cursor.fetchall()
logging.info("get data:%s" % data)
zhengxing_cursor.close()
ck = GetContentKeyWords()
keywords = ck.get_keywords(data, len(ck.tag_list))
tag_names.append(keywords)
# logging.info("get settings.HOST:%s" % settings.HOST)
# db_zhengxing_eagle = pymysql.connect(host=settings.HOST, port=settings.PORT, user=settings.USER,
# password=settings.PASSWORD,
# db=settings.NAME)
#
# logging.info("get db_zhengxing_eagle:%s" % db_zhengxing_eagle)
# zhengxing_cursor = db_zhengxing_eagle.cursor()
# sql = 'select content from api_answer where id = %s ' % (card_id)
# zhengxing_cursor.execute(sql)
# data = list(zhengxing_cursor.fetchall())
# logging.info("get data:%s" % data)
# zhengxing_cursor.close()
# if len(data) > 0:
# soup = BeautifulSoup(data[0][0], 'html.parser')
# contents = soup.text
#
# ck = GetContentKeyWords()
# keywords = ck.get_keywords(contents, len(ck.tag_list))
# if keywords:
# tag_names.append(keywords)
if need_comment_num:
all_comment_list = []
......@@ -308,3 +332,4 @@ def get_vest_userid_and_comment(need_comment_num=0, tag_names=[], card_id=0):
except:
logging.error("catch exception,err_msg:%s" % traceback.format_exc())
return []
......@@ -8,7 +8,7 @@ from django.conf import settings
REDIS_URL = "redis://redis.paas-test.env:6379/0"
redis_client = redis.StrictRedis.from_url(REDIS_URL)
tag_list = ["瘦脸针kyc", "双眼皮kyc", "水光针kyc", "玻尿酸kyc", "吸脂kyc", "埋线提升kyc", "鼻综合kyc", "光子嫩肤kyc", "没有想法kyc",
"牙齿kyc", "抗衰紧致kyc", "胸部kyc"]
"牙齿kyc", "抗衰紧致kyc", "胸部kyc", "果酸换肤kyc", "祛斑kyc", "美白针kyc", "瘦腿针kyc"]
xizhi_data = ['吸脂效果真的很明显吗', '吸脂疼不疼的呀', '吸脂会流血吗', '有没有技术一流的吸脂医生推荐呢', '姐妹,你在哪里做的吸脂呀', '吸脂恢复期很长吗', '吸脂贵不贵啊',
'感觉吸脂会很恐怖?', '很怕痛,不知道吸脂的疼痛指数是?', '吸脂出来后效果都会很明显吗?', '吸脂后真的会变瘦很多吗?', '吸脂会有皮肤色差吗?', '如果腿部吸脂会很明显吗?',
......@@ -357,7 +357,7 @@ guangzinenfu_data = ['光子嫩肤做完黑眼圈都没了', '光子嫩肤做完
'光子嫩肤后以后会光敏感,真的嘛?', '白癜风能做光子嫩肤吗?', '光子嫩肤机器不同效果会有区别么?', '点完痣多久能做光子嫩肤呢?', '身体可以做光子嫩肤么?',
'做完隆鼻和双眼皮大概多久可以做光子嫩肤缩毛孔?', '做光子嫩肤要去正规大医院吗?还是附近的小医美机构也可以?',
'做光子嫩肤,各家仪器都不同,以色列进口飞顿、M22哪种仪器做的效果好些? ', '你们做完光子嫩肤有斑点的地方会变黑嘛?']
meiyouxiangfa_data = ['我没尝试过医美?大家有啥建议。', '可以去做做无创感的护肤类项目,无针水光和小气泡好评。', '可以去试试热拉提 真的不错哦,提拉紧致,是射频类项目。',
meiyouxiangfa_data = ['可以去做做无创感的护肤类项目,无针水光和小气泡好评。', '可以去试试热拉提 真的不错哦,提拉紧致,是射频类项目。',
'我没做之前好纠结啊,不知道做什么项目好,但是做完小气泡,水光针也打算做了。', '医美真心没你想的那么严重,其实没这么复杂的啦,护肤类感觉很好。',
'当你的连护肤品拯救不了,开始衰老的时候就想做了。', '过来人告诉你,有些项目越做越上瘾。', '可以先查看想做项目的相关日记,帖子,结合自己的情况',
'真的医美很良心,比大牌的护肤品见效快补水足。', '那些说医美很贵的,真不是,有些活动很好,可以囤一波。', '医美项目分好多种,要自己去了解', '医美项目还是不错的,值得做哦。',
......@@ -390,32 +390,69 @@ meiyouxiangfa_data = ['我没尝试过医美?大家有啥建议。', '可以
'好多明星都做线雕,感觉很好,小白可以尝试一下。。', '入门级医美项目,小气泡,水光针,还有玻尿酸。', '我去做了线雕,小姐姐要考虑是否去尝试一下 ,很抗衰,脸也小了,下巴也尖了',
'因为鼻子太塌,一直想做鼻子,最近在各种咨询,最后先做了玻尿酸填充。还不错啦', '同事犹豫了好久终于去做了双眼皮加提肌,光彩照人。成功安利我。',
'对脸部脂肪多的想去做个吸脂,但是怕疼,最后打了瘦脸针 看效果还不错。。', '热拉提 一定要去体验 法令纹都没了特别开心,,,',
'小白们不要怕 ,大胆向前冲,涌入医美的大门。。绝不会后悔哈哈哈哈', '我想打瘦腿针,多久会见效?', '肌肉腿可以打水光针吗?', '瘦腿针瘦小腿会不会反弹?想打瘦腿针,但是又怕反弹。',
'第一次打瘦腿针变化大吗?', '打瘦腿针是否有副作用?有什么副作用?', '瘦腿针几次见效?是永久的吗?', '小腿粗,是选择吸脂好还是瘦腿针好?', '打瘦腿针或者腿部抽脂有用吗?',
'打瘦腿针会影响运动能力吗?打了还能正常跑步游泳健身吗?', '瘦腿针,打几针才稳定?', '打了瘦腿针之后 还想做瑜伽拉伸 这样瘦腿针是不是就白打了? ?',
'瘦腿针打了四十多天还没有效果还要不要继续呢?', '打瘦腿针(三联针)有用吗? 是国产还是进口的性价比高啊? ', '瘦腿针和溶脂针是不是都会反弹?',
'注射瘦腿针间隔多久打一次效果比较好?', '打过瘦腿针的小仙女们,请问会有后遗症吗,?后续还可以按摩吗?', '打瘦腿针对身体有什么危害吗?', '肌肉外翻畸形腿打瘦腿针有用吗?',
'打了瘦腿针还能运动吗 打了瘦腿针可以跑步吗?', '瘦腿针需要经常打么?', '瘦腿针真的安全吗?有什么危险吗?', '瘦腿针和吸脂有什么区别?哪个效果好?', '瘦腿针能长久维持吗?',
'注射瘦腿针后应该注意什么?', '常年打瘦腿针(肉毒)导致瘫痪或供血不足吗?', '打完瘦腿多久可以穿高跟鞋?', '打完瘦腿针几星期后可以做瑜伽动作拉伸么?',
'打了瘦腿针之后多久可以拔火罐?', '普通瘦腿针和复合型瘦腿针有什么区别呢?', '初中生能打瘦腿针吗?有没有副作用?', '北京打瘦腿针哪些医院比较好?',
'botox瘦腿针要多少钱?注射botox瘦腿针有哪些副作用', '割双眼皮多久之后可以打瘦脸针或者瘦腿针?或者打瘦脸针多久之后可以割双眼皮?', '瘦腿针应该怎么选择呢?有什么区别?',
'打瘦腿针效果怎么样?保持多久呢?', '打瘦腿针会不会引起腿部静脉曲张?', '瘦腿针和瘦脸针可以一起打吗?会不会有抗体啊?',
'请问国产瘦腿针和进口瘦腿针有什么区别吗?去医院打的时候医生建议打进口的', '打完瘦腿针后,因为工作的需要,长时间在户外走路,会影响效果吗?', '打了瘦腿针,感冒了可以吃药吗,比如吃头孢',
'打了瘦腿针,腿一直酸疼吗?', '腿容易抽筋,能打瘦腿针么,或者能做吸脂么', '"', '', '瘦腿针多少计量可以达到瘦小腿的目的?可以同时瘦脚踝吗?"', '"', '',
'打瘦腿针要用绷带束小腿吗?"', '瘦小腿推荐什么牌子的瘦腿针效果会怎样', '能不能同时打瘦脸针瘦腿针和腹部溶脂,会不会打太多了一次?', '什么样的腿部适合注射瘦腿针?',
'怀孕期间可以打瘦腿针吗?', '哺乳期间可以打瘦腿针吗?', '打完瘦腿针可以吃辣吗?', '打完瘦腿针饮食有忌口吗?', '瘦腿针分几种?', '哪些人可以打瘦腿针?',
'瘦腿针后穿了压力很大的塑身裤会怎样?', '打完瘦腿针有什么注意事项?', '瘦腿针贵吗?多少钱啊?', '打完瘦腿针有啥后遗症吗?', '腿部瘦腿针?瘦腿针能维持多久?有副作用吗?',
'瘦腿的针多少钱?', '打完瘦腿针又大了一圈怎么回事?', '瘦腿针可以反复打吗?', '瘦腿针是什么原理?瘦腿针有用吗?', '瘦腿针13mm针头全插吗?',
'"打瘦腿针用粉毒还是白毒好?', '"', '怎样可以让瘦腿针的效果更久一些?', '打一次瘦腿针能瘦多少!保持多长时间!?', '瘦腿针一次打多少单位 ?', '瘦腿针一般能瘦几厘米?',
'打瘦腿针要麻醉吗?注射瘦腿针的时间多长?', '衡力瘦腿针打完第一针后多久时间打第二针?', '瘦腿针跟瘦肩针 瘦脸针能一起打么?', '打瘦腿针会不会有风险,怎么避免呢?',
'打完瘦腿针每天都要爬楼梯,肌肉会不会很快长出来?', '怎么判断需不需要注射瘦腿针?', '瘦脸针瘦腿针用的难道不是同一种肉毒素?小腿一般打几针?', '瘦腿针打几次肌肉就完全消失了?',
'瘦腿针打了之后会走不动路吗?', '打瘦腿针一个月后可以做高周波吗?', '对青霉素过敏到底可不可以注射瘦脸针瘦腿针?', '打了瘦腿针 可以去抽脂吗 这两者要避开吗 避开的话要多久',
'感冒期间可以打瘦腿针吗?', '瘦腿针为什么能瘦腿?', '肌肉型小腿 腿型不好看 打瘦腿针有效果吗?', '打完瘦腿针可以用热水泡脚吗?',
'瘦腿针200个单位打出来效果好吗. 会不会不够 我小腿肌肉很粗?', '有没有上门打瘦腿针的医院?', '瘦腿针真的对身体有影响吗?', '打过瘦腿针多久能洗澡啊?',
'网上卖的瘦腿针和溶脂针价格怎么差那么多啊?', '小腿属于肌肉型抽脂好还是瘦腿针?', '请问打完瘦腿针之后如果过了半年没去打是不是腿部肌肉更加结实比原来更难看?',
'瘦腿针多少钱,一针能搞定吗?', '瘦腿针注射的越多越好吗?', '小腿腿部有很明显的线,是先抽脂好呢,还是先打瘦腿针之后再抽脂呢?',
'瘦腿针打了两个月了、没什么效果!我想再去打、请问什么时候去最好?', '如何判断自己适不适合瘦腿针?', '瘦腿针啥季节打比较好?', '北京有推荐打瘦腿针的医院吗?',
'打了瘦腿针,腿部会对瘦腿针产生依赖吗?', '我是学舞蹈的,打完瘦腿针还可以训练吗?']
'小白们不要怕 ,大胆向前冲,涌入医美的大门。。绝不会后悔哈哈哈哈']
guosuanhuanfu_data = ['闭口很多的人做果酸换肤后能有效改善吗?', '果酸换肤对毛孔大效果好吗?', '做果酸焕肤祛痘印价格贵不贵?', '敏感皮肤可以做吗?', '会很疼吗?做完可不可以敷面膜!',
'治疗几次会有明显的效果啊?', '果酸对混干皮肤会不会太刺激?', '刷完果酸,后期会反弹么?', '缩小毛孔,果酸换肤和光子嫩肤选哪个?',
'"半个月前进行了果酸焕肤,现在想做光子嫩肤,合适吗?', '"', '刷酸之后一个月左右爆痘是正常的么?', '治痘印痘坑选择果酸还是点阵激光?', '脸上长痘做果酸会反弹吗?',
'本人毛孔较粗还有黄褐斑,想知道果酸换肤是否真能解决这些问题?', '做了果酸后多久可以化妆?', '为什么果酸换肤会爆痘?刷几次会有好的效果?', '果酸焕肤和微针有什么区别 哪个好?',
'果酸护肤有什么作用,果酸是什么做的?', '水杨酸和果酸哪个好?有什么区别呀?', '刚做完果酸焕肤当天能用洗面奶吗?', '果酸换肤会使角质层变薄吗?',
'果酸换肤可以去黑痘印和红痘印吗?', '请问果酸焕肤后注意事项有哪些?刚做完果酸焕肤。有什么建议嘛?', '请问一下做完有针水光之后多久可以做小气泡或者是果酸焕肤呀?',
'光子嫩肤,白瓷娃娃,果酸焕肤,哪个对肤色不均有效果', '果酸焕肤和杏仁酸焕肤有什么区别?', '有痘印痘坑和毛孔粗大的问题,是激光还是果酸焕肤效果来得好一些?',
'周末想去做果酸换肤,请问做完果酸换肤后注意事项有哪些呢?', '最近皮肤不太好,朋友推荐我去做个果酸换肤,想知道果酸换肤都有什么作用?',
'皮肤干燥还有些痘痘,想做个果酸改善一下,请问果酸换肤一个疗程几次?', '脸上有点痘痘,准备去体验一下果酸换肤。想问做一次能维持多久呢?',
'我的痘痘总是反反复复的,满脸的痘痘很痛苦,朋友给我推荐了果酸换肤,说效果还不错,我想问一下做果酸换肤多久可以恢复?',
'前几年因为有青春痘,导致我的皮肤上留下了一些痘坑,果酸换肤能治痘坑吗?', '什么类型的肤质不适合做?', '朋友刚做了,效果不错,我也打算去做一个。', '正准备去做呢,做完和大家分享。',
'据说效果不错,而且是祛痘医美项目里性价比比较高的。', '做完果酸换肤后当天能用防晒乳和洗面奶吗?', '现在好像很多的人在做果酸换肤,不知道效果怎么样啊?', '果酸的操作步骤是怎么样的?',
'果酸换肤真的可以治疗青春痘吗?', '果酸焕肤对哪些皮肤问题有功效呢?', '果酸焕肤的价格学生党能承受得起么?', '水杨酸跟果酸分别适合什么皮肤症状呢?',
'果酸具有剥脱性,那治疗完后肌肤是否会变得较薄呢?', '我觉得效果挺好的,现在痘痘减少了很多。', '性价比很高的祛痘项目。', '做完果酸换肤不小心晒到太阳了怎么办?']
queban_data = ['本人有雀斑一直困扰,想要去激光祛斑,但担心会反弹一直不敢去做。求解?', '学生党选择哪种祛斑方式比较好?', '激光祛斑一般在多少价位?', '做皮秒激光祛斑是什么样的体验?',
'激光祛斑的原理是什么?它怎么做到祛斑而不伤害或者灼伤皮肤细胞呢?', '有没有谁做过皮秒祛斑,效果如何?', '哪种祛斑方法效果好?', '激光祛斑真的会反黑?',
'祛斑有什么好治疗方法?现在的激光祛斑可靠吗?', '皮秒祛斑效果好么?', '蜂巢皮秒推荐,效果很棒。做了两三次基本看不出斑了。',
'脸上有一些斑点,看起来脸脏脏的,想做个激光去除一下,想问一下激光祛斑之后应该怎么护理呢?', '激光去雀斑会反弹吗,激光祛雀斑后能保持多久', '激光祛斑一次多少钱?',
'做完激光祛斑以后应该怎么样去护理呀?', '皮秒祛斑能有效祛除雀斑吗?', '皮秒祛斑后多久可以化妆?', '皮秒祛斑适合所有人么?', '哪种祛斑项目性价比最高?', '做几次激光会有明显效果?',
'太阳晒斑怎么去除,激光祛斑能去除太阳晒斑吗,大概晒后多久才能做激光祛斑?', '激光祛斑效果好不好,是永久祛斑吗?会在皮肤上留坑吗,会不会反弹?', '超皮秒祛斑会结痂吗?',
'皮秒祛斑好不好,做一次皮秒祛斑能维持多久,皮秒祛斑恢复时间长吗?', '脸上突然长了几个斑,哪种激光祛斑效果好?激光祛斑和光子祛斑哪种好?',
'褐青色斑怎么去除,激光祛斑有效吗,激光祛斑需要做几次才能治好?', '看朋友做了激光祛斑效果挺好。', '皮秒和炒皮秒有什么区别呀?', '激光祛斑要多久?每一次要多长时间?',
'我脸上有很多的黄褐斑,听说超皮秒祛斑不错,想了解一下做完超皮秒祛斑多久会有效果,之后脸会反黑吗?', '做了激光祛斑,术后反黑了,咋办啊', '激光祛斑后,多久恢复正常?术后需要注意什么?',
'激光祛斑几次一个疗程?', '祛斑我觉得还是用医美的激光有效果。', '脸上的斑真的困扰我好久了,打算做个皮秒。', '皮秒祛斑效果好么?', '皮秒祛斑一般要做几次,多少钱?', '超皮秒祛斑怎么样?',
'做皮秒祛斑有什么注意事项?', '激光祛斑和皮秒祛斑我都做过,感觉皮秒更有效果。', '北京祛斑有医院推荐么?', '所有斑皮秒都能祛么?', '哪些人不适合做激光类的祛斑?', '蜂巢皮秒祛斑疼么?',
'祛斑后反黑了怎么办呀?', '哪种祛斑效果最好啊?好纠结。', '做完激光祛斑,脸上发红正常么?', '皮秒祛斑效果好好,我朋友刚做完,心动。']
meibaizhen_data = ['想打美白针但是不知道效果咋样?', '美白针有副作用吗?', '听说美白针对肾脏不好啊?是真的吗?', '美白针有组队的吗?', '我天生比较黑,打美白针有效果吗?',
'听说美白针只能到你自身最白的地方那么白。我还有救吗?', '想白成一道光,求问美白针的效果', '我看关晓彤变白了之后好美啊,求变白的方法,除了美白针还有什么别的方法吗?',
'美白针的效果咋样啊?', '天生黑,需要白成瓷娃娃', '美白针是不是只适合晒黑的人打呀?', '美白针的价格在什么范围?', '美白针需要很久补一次吗?', '我打过,效果很不错。',
'哈哈,打完亮了一个度,是我做过最满意的医美项目', '除了贵没毛病吧,都说一白遮百丑', '我才18岁,现在可以打美白针了吗', '之前看AB变白,之后真的超级美', '想变成一道光!美白针走起来',
'打完美白针有什么注意事项呢?', '美白针需要每年打一次吗?', '美白针有什么比较有名的品牌吗?', '美白针是我第一个尝试的医美项目,太满意了。', '打完针后需要注意什么呀?',
'打完针后可以随意吃东西吗?', '打针前要注意什么事项呢?', '过来人想说,打针其实还好,不疼啦', '我之前打的效果就挺好。坚持了挺久的,就是要注意防晒',
'明星打完针效果太明显了,我也超级心动', '美白针的价格咋样啊?', '打完针需要注意防晒吗?', '也不知道打针疼不疼?', '我要存钱打针!变白雪公主', '美白针是全身吗?还是局部美白?',
'打完针有多久的恢复期?', '美打之前有什么要求吗?', '美白针打完有风险吗?', '美白针打完需要物理防晒吗?', '听说效果特别好。我本人超级黑,求助,天生黑的人效果咋样',
'美白针有年龄限制吗?我年纪有点大了。', '敏感肌能打美白针吗?', '美白针价格都好贵啊,便宜和贵的区别是什么呢?打过的求解答', '北京的美白针有推荐的机构吗?',
'打完针后有没有不舒服的感觉呢?对肾脏的压力大不大?', '我觉得自己有点肾亏,能打美白针吗?', '怎么判断自己能不能打美白针呢?', '美白针的效果还是不错的。就是需要经常补。',
'明星的美白针都是在哪里打的啊。']
shoutuizhen_data = ['我想打瘦腿针,多久会见效?', '肌肉腿可以打水光针吗?', '瘦腿针瘦小腿会不会反弹?想打瘦腿针,但是又怕反弹。', '第一次打瘦腿针变化大吗?', '打瘦腿针是否有副作用?有什么副作用?',
'瘦腿针几次见效?是永久的吗?', '小腿粗,是选择吸脂好还是瘦腿针好?', '打瘦腿针或者腿部抽脂有用吗?', '打瘦腿针会影响运动能力吗?打了还能正常跑步游泳健身吗?',
'瘦腿针,打几针才稳定?', '打了瘦腿针之后 还想做瑜伽拉伸 这样瘦腿针是不是就白打了? ?', '瘦腿针打了四十多天还没有效果还要不要继续呢?',
'打瘦腿针(三联针)有用吗? 是国产还是进口的性价比高啊?', '瘦腿针和溶脂针是不是都会反弹?', '注射瘦腿针间隔多久打一次效果比较好?',
'打过瘦腿针的小仙女们,请问会有后遗症吗,?后续还可以按摩吗?', '打瘦腿针对身体有什么危害吗?', '肌肉外翻畸形腿打瘦腿针有用吗?', '打了瘦腿针还能运动吗 打了瘦腿针可以跑步吗?',
'瘦腿针需要经常打么?', '瘦腿针真的安全吗?有什么危险吗?', '瘦腿针和吸脂有什么区别?哪个效果好?', '瘦腿针能长久维持吗?', '注射瘦腿针后应该注意什么?',
'常年打瘦腿针(肉毒)导致瘫痪或供血不足吗?', '打完瘦腿多久可以穿高跟鞋?', '打完瘦腿针几星期后可以做瑜伽动作拉伸么?', '打了瘦腿针之后多久可以拔火罐?',
'普通瘦腿针和复合型瘦腿针有什么区别呢?', '初中生能打瘦腿针吗?有没有副作用?', '北京打瘦腿针哪些医院比较好?', 'botox瘦腿针要多少钱?注射botox瘦腿针有哪些副作用',
'割双眼皮多久之后可以打瘦脸针或者瘦腿针?或者打瘦脸针多久之后可以割双眼皮?', '瘦腿针应该怎么选择呢?有什么区别?', '打瘦腿针效果怎么样?保持多久呢?',
'打瘦腿针会不会引起腿部静脉曲张?', '瘦腿针和瘦脸针可以一起打吗?会不会有抗体啊?', '请问国产瘦腿针和进口瘦腿针有什么区别吗?去医院打的时候医生建议打进口的',
'打完瘦腿针后,因为工作的需要,长时间在户外走路,会影响效果吗?', '打了瘦腿针,感冒了可以吃药吗,比如吃头孢', '打了瘦腿针,腿一直酸疼吗?', '腿容易抽筋,能打瘦腿针么,或者能做吸脂么',
'"', '', '瘦腿针多少计量可以达到瘦小腿的目的?可以同时瘦脚踝吗?"', '"', '', '打瘦腿针要用绷带束小腿吗?"', '瘦小腿推荐什么牌子的瘦腿针效果会怎样',
'能不能同时打瘦脸针瘦腿针和腹部溶脂,会不会打太多了一次?', '什么样的腿部适合注射瘦腿针?', '怀孕期间可以打瘦腿针吗?', '哺乳期间可以打瘦腿针吗?', '打完瘦腿针可以吃辣吗?',
'打完瘦腿针饮食有忌口吗?', '瘦腿针分几种?', '哪些人可以打瘦腿针?', '瘦腿针后穿了压力很大的塑身裤会怎样?', '打完瘦腿针有什么注意事项?', '瘦腿针贵吗?多少钱啊?',
'打完瘦腿针有啥后遗症吗?', '腿部瘦腿针?瘦腿针能维持多久?有副作用吗?', '瘦腿的针多少钱?', '打完瘦腿针又大了一圈怎么回事?', '瘦腿针可以反复打吗?',
'瘦腿针是什么原理?瘦腿针有用吗?', '瘦腿针13mm针头全插吗?', '"打瘦腿针用粉毒还是白毒好?', '"', '怎样可以让瘦腿针的效果更久一些?',
'打一次瘦腿针能瘦多少!保持多长时间!?', '瘦腿针一次打多少单位 ?', '瘦腿针一般能瘦几厘米?', '打瘦腿针要麻醉吗?注射瘦腿针的时间多长?',
'衡力瘦腿针打完第一针后多久时间打第二针?', '瘦腿针跟瘦肩针 瘦脸针能一起打么?', '打瘦腿针会不会有风险,怎么避免呢?', '打完瘦腿针每天都要爬楼梯,肌肉会不会很快长出来?',
'怎么判断需不需要注射瘦腿针?', '瘦脸针瘦腿针用的难道不是同一种肉毒素?小腿一般打几针?', '瘦腿针打几次肌肉就完全消失了?', '瘦腿针打了之后会走不动路吗?',
'打瘦腿针一个月后可以做高周波吗?', '对青霉素过敏到底可不可以注射瘦脸针瘦腿针?', '打了瘦腿针 可以去抽脂吗 这两者要避开吗 避开的话要多久', '感冒期间可以打瘦腿针吗?',
'瘦腿针为什么能瘦腿?', '肌肉型小腿 腿型不好看 打瘦腿针有效果吗?', '打完瘦腿针可以用热水泡脚吗?', '瘦腿针200个单位打出来效果好吗. 会不会不够 我小腿肌肉很粗?',
'有没有上门打瘦腿针的医院?', '瘦腿针真的对身体有影响吗?', '打过瘦腿针多久能洗澡啊?', '网上卖的瘦腿针和溶脂针价格怎么差那么多啊?', '小腿属于肌肉型抽脂好还是瘦腿针?',
'请问打完瘦腿针之后如果过了半年没去打是不是腿部肌肉更加结实比原来更难看?', '瘦腿针多少钱,一针能搞定吗?', '瘦腿针注射的越多越好吗?',
'小腿腿部有很明显的线,是先抽脂好呢,还是先打瘦腿针之后再抽脂呢?', '瘦腿针打了两个月了、没什么效果!我想再去打、请问什么时候去最好?', '如何判断自己适不适合瘦腿针?',
'瘦腿针啥季节打比较好?', '北京有推荐打瘦腿针的医院吗?', '打了瘦腿针,腿部会对瘦腿针产生依赖吗?', '我是学舞蹈的,打完瘦腿针还可以训练吗?']
yachi_data = ['牙齿矫正能够瘦脸么', '我25岁了,还可以去做牙齿矫正么?', '牙齿矫正有最佳年龄么?30了还可以去做么?', '我的脸很方,牙齿矫正后脸型会有变化么?', '我是学生,牙齿矫正(正畸)需要多少钱?',
'牙齿不齐,想去做牙齿矫正,会有后遗症么?', '天生龅牙,想去做矫正,牙齿矫正对牙齿的伤害大嘛?', '想去做矫正,想问一下牙齿矫正的原理是什么?', '牙齿矫正对牙齿神经会有负面影响吗?',
'有没有做过牙齿矫正的,会很疼么?', '我的脸型比较奇怪,牙齿也不齐,牙齿矫正之后会脸会变漂亮吗?', '牙齿矫正后,保持器要戴多久?', '我已经成年了,还能进行牙齿正畸矫正吗?',
......@@ -498,16 +535,38 @@ kangshuaijinzhi_data = ['怎么才能让脸部皮肤变得紧致呢?', '人到
redis_key = "vest_kyc_tag_content_data"
'''
redis_client.hset(redis_key, "胸部kyc", json.dumps(list(xiongbu_data)))
service_closure_tags = redis_client.hget(redis_key, "瘦脸针kyc")
closure_tags = json.loads(service_closure_tags)
'''
redis_client.hset(redis_key, "果酸换肤kyc", json.dumps(list(guosuanhuanfu_data)))
service_closure_tags = redis_client.hget(redis_key, "果酸换肤kyc")
closure_tags = json.loads(service_closure_tags)
redis_client.hset(redis_key, "祛斑kyc", json.dumps(list(queban_data)))
service_closure_tags = redis_client.hget(redis_key, "祛斑kyc")
closure_tags = json.loads(service_closure_tags)
redis_client.hset(redis_key, "美白针kyc", json.dumps(list(meibaizhen_data)))
service_closure_tags = redis_client.hget(redis_key, "美白针kyc")
closure_tags = json.loads(service_closure_tags)
redis_client.hset(redis_key, "瘦腿针kyc", json.dumps(list(shoutuizhen_data)))
service_closure_tags = redis_client.hget(redis_key, "瘦腿针kyc")
closure_tags = json.loads(service_closure_tags)
redis_client.hset(redis_key, "胸部kyc", json.dumps(list(xiongbu_data)))
service_closure_tags = redis_client.hget(redis_key, "胸部kyc")
closure_tags = json.loads(service_closure_tags)
redis_client.hset(redis_key, "抗衰紧致kyc", json.dumps(list(kangshuaijinzhi_data)))
service_closure_tags = redis_client.hget(redis_key, "瘦脸针kyc")
service_closure_tags = redis_client.hget(redis_key, "抗衰紧致kyc")
closure_tags = json.loads(service_closure_tags)
redis_client.hset(redis_key, "牙齿kyc", json.dumps(list(yachi_data)))
service_closure_tags = redis_client.hget(redis_key, "瘦脸针kyc")
service_closure_tags = redis_client.hget(redis_key, "牙齿kyc")
closure_tags = json.loads(service_closure_tags)
redis_client.hset(redis_key, "瘦脸针kyc", json.dumps(list(shoulianzhen)))
......@@ -515,33 +574,33 @@ service_closure_tags = redis_client.hget(redis_key, "瘦脸针kyc")
closure_tags = json.loads(service_closure_tags)
redis_client.hset(redis_key, "双眼皮kyc", json.dumps(list(shuangyanpi_data)))
service_closure_tags = redis_client.hget(redis_key, "瘦脸针kyc")
service_closure_tags = redis_client.hget(redis_key, "双眼皮kyc")
closure_tags = json.loads(service_closure_tags)
redis_client.hset(redis_key, "水光针kyc", json.dumps(list(shuiguangzhen_data)))
service_closure_tags = redis_client.hget(redis_key, "瘦脸针kyc")
service_closure_tags = redis_client.hget(redis_key, "水光针kyc")
closure_tags = json.loads(service_closure_tags)
redis_client.hset(redis_key, "玻尿酸kyc", json.dumps(list(boniaosuan_data)))
service_closure_tags = redis_client.hget(redis_key, "瘦脸针kyc")
service_closure_tags = redis_client.hget(redis_key, "玻尿酸kyc")
closure_tags = json.loads(service_closure_tags)
redis_client.hset(redis_key, "吸脂kyc", json.dumps(list(xizhi_data)))
service_closure_tags = redis_client.hget(redis_key, "瘦脸针kyc")
service_closure_tags = redis_client.hget(redis_key, "吸脂kyc")
closure_tags = json.loads(service_closure_tags)
redis_client.hset(redis_key, "埋线提升kyc", json.dumps(list(maixiantisheng)))
service_closure_tags = redis_client.hget(redis_key, "瘦脸针kyc")
service_closure_tags = redis_client.hget(redis_key, "埋线提升kyc")
closure_tags = json.loads(service_closure_tags)
redis_client.hset(redis_key, "鼻综合kyc", json.dumps(list(bizonghe_data)))
service_closure_tags = redis_client.hget(redis_key, "瘦脸针kyc")
service_closure_tags = redis_client.hget(redis_key, "鼻综合kyc")
closure_tags = json.loads(service_closure_tags)
redis_client.hset(redis_key, "光子嫩肤kyc", json.dumps(list(guangzinenfu_data)))
service_closure_tags = redis_client.hget(redis_key, "瘦脸针kyc")
service_closure_tags = redis_client.hget(redis_key, "光子嫩肤kyc")
closure_tags = json.loads(service_closure_tags)
redis_client.hset(redis_key, "没有想法kyc", json.dumps(list(meiyouxiangfa_data)))
service_closure_tags = redis_client.hget(redis_key, "瘦脸针kyc")
service_closure_tags = redis_client.hget(redis_key, "没有想法kyc")
closure_tags = json.loads(service_closure_tags)
12345
23456
24244
53555
54647
655757
57575
5747
4653
466546
57745645
32333819
32333811
32283128
32283127
32283126
32283125
32283124
32283123
32283122
32283121
32283120
32283119
32283118
32283117
32283116
32283115
32283114
32283113
32283112
32283111
32283110
32283109
32283108
32283107
32283106
32283105
32283104
32283103
32283102
32283101
32283100
32283099
32283098
32283097
32283096
32283095
32283094
32283093
32283092
32283091
32283090
32283089
32283088
32283087
32283086
32283085
32283084
32283083
32283082
32283081
32283080
32283079
32283078
32283077
32283076
32283075
32283074
32283073
32283072
32283071
32283070
32283069
32283068
32283067
32283066
32283065
32283064
32283063
32283062
32283061
32283060
32283059
32283058
32283057
32283056
32283055
32283054
32283053
32283052
32283051
32283050
32283049
32283048
32283047
32283046
32283045
32283044
32283043
32283042
32283041
32283040
32283039
32283038
32283037
32283036
32283035
32283034
32283033
32283032
32283031
32283030
32283029
32283028
32283027
32283026
32283025
32283024
32283023
32283022
32283021
32283020
32283019
32283018
32283017
32283016
32283015
32283014
32283013
32283012
32283011
32283010
32283009
32283008
32283007
32283006
32283005
32283004
32283003
32283002
32283001
32283000
32282999
32282998
32282997
32282996
32282995
32282994
32282993
32282992
32282991
32282990
32282989
32282988
32282987
32282986
32282985
32282984
32282983
32282982
32282981
32282980
32282979
32282978
32282977
32282976
32282975
32282974
32282973
32282972
32282971
32282970
32282969
32282968
32282967
32282966
32282965
32282964
32282963
32282962
32282961
32282960
32282959
32282958
32282957
32282956
32282955
32282954
32282953
32282952
32282951
32282950
32282949
32282948
32282947
32282946
32282945
32282944
32282943
32282942
32282941
32282940
32282939
32282938
32282937
32282936
32282935
32282934
32282933
32282932
32282931
32282930
32282929
32282928
32282927
32282926
32282925
32282924
32282923
32282922
32282921
32282920
32282919
32282918
32282917
32282916
32282915
32282914
32282913
32282912
32282911
32282910
32282909
32282908
32282907
32282906
32282905
32282904
32282903
32282902
32282901
32282900
32282899
32282898
32282897
32282896
32282895
32282894
32282893
32282892
32282891
32282890
32282889
32282888
32282887
32282886
32282885
32282884
32282883
32282882
32282881
32282880
32282879
32282878
32282877
32282876
32282875
32282874
32282873
32282872
32282871
32282870
32282869
32282868
32282867
32282866
32282865
32282864
32282863
32282862
32282861
32282860
32282859
32282858
32282857
32282856
32282855
32282854
32282853
32282852
32282851
32282850
32282849
32282848
32282847
32282846
32282845
32282844
32282843
32282842
32282841
32282840
32282839
32282838
32282837
32282836
32282835
32282834
32282833
32282832
32282831
32282830
32282829
32282828
32282827
32282824
32282823
32282822
32282821
32282820
32282819
32282818
32282817
32282816
32282815
32282814
32282813
32282812
32282811
32282810
32282809
32282808
32282807
32282806
32282805
32282804
32282803
32282802
32282801
32282800
32282799
32282798
32282797
32282796
32282795
32282794
32282793
32282792
32282791
32282790
32282789
32282788
32282787
32282786
32282785
32282783
32282782
32282781
32282780
32282779
32282778
32282777
32282776
32282775
32282774
32282773
32282772
32282771
32282770
32282769
32282768
32282767
32282765
32282764
32282763
32282762
32282761
32282760
32282759
32282758
32282757
32282756
32282755
32282754
32282753
32282752
32282751
32282750
32282749
32282748
32282747
32282746
32282745
32282744
32282743
32282742
32282740
32282739
32282738
32282737
32282736
32282735
32282734
32282733
32282732
32282731
32282730
32282729
32282728
32282727
32282726
32282725
32282724
32282723
32282722
32282721
32282720
32282719
32282718
32282717
32282716
32282715
32282714
32282713
32282712
32282711
32282710
32282709
32282708
32282707
32282706
32282705
32282704
32282703
32282702
32282701
32282700
32282699
32282698
32282697
32282696
32282695
32282694
32282693
32282692
32282691
32282690
32282689
32282688
32282687
32282686
32282685
32282684
32282683
32282682
32282681
32282680
32282679
32282678
32282677
32282676
32282675
32282674
32282673
32282672
32282671
32282670
32282669
32282668
32282667
32282666
32282665
32282664
32282663
32282662
32282661
32282660
32282659
32282658
32282657
32282656
32282655
32282654
32282653
32282652
32282651
32282650
32282649
32282648
32282647
32282646
32282645
32282644
32282643
32282642
32282641
32282640
32282639
32282638
32282637
32282636
32282635
32282634
32282633
32282632
32282631
32282630
32282629
32282628
32282626
32282625
32282624
32282623
32282622
32282621
32282620
32282619
32282618
32282617
32282616
32282615
32282614
32282613
32282612
32282611
32282610
32282609
32282608
32282607
32282606
32282605
32282604
32282603
32282602
32282601
32282600
32282599
32282598
32282597
32282596
32282595
32282594
32282593
32282592
32282591
32282590
32282589
32282588
32282587
32282586
32282585
32282584
32282583
32282582
32282581
32282580
32282579
32282578
32282577
32282576
32282575
32282574
32282573
32282572
32282571
32282570
32282569
32282568
32282567
32282566
32282565
32282564
32282563
32282562
32282561
32282560
32282559
32282558
32282557
32282556
32282555
32282554
32282552
32282551
32282550
32282549
32282547
32282546
32282545
32282544
32282543
32282542
32282541
32282540
32282539
32282538
32282537
32282536
32282535
32282534
32282533
32282532
32282531
32282530
32282529
32282528
32282527
32282526
32282525
32282524
32282523
32282522
32282521
32282520
32282519
32282518
32282517
32282516
32282515
32282514
32282513
32282512
32282511
32282510
32282509
32282508
32282507
32282506
32282505
32282504
32282503
32282502
32282501
32282499
32282498
32282497
32282496
32282495
32282494
32282493
32282492
32282491
32282490
32282489
32282488
32282487
32282485
32282484
32282483
32282482
32282481
32282480
32282479
32282478
32282476
32282475
32282474
32282473
32282472
32282471
32282470
32282469
32282468
32282467
32282466
32282465
32282464
32282463
32282462
32282461
32282460
32282459
32282458
32282457
32282456
32282455
32282454
32282453
32282452
32282451
32282450
32282449
32282448
32282447
32282446
32282445
32282444
32282443
32282442
32282441
32282440
32282439
32282438
32282437
32282436
32282435
32282434
32282433
32282432
32282431
32282430
32282429
32282428
32282427
32282426
32282425
32282424
32282423
32282422
32282421
32282420
32282419
32282418
32282417
32282416
32282415
32282414
32282413
32282412
32282411
32282410
32282409
32282408
32282407
32282406
32282405
32282404
32282403
32282402
32282401
32282400
32282399
32282398
32282397
32282396
32282395
32282394
32282393
32282392
32282391
32282390
32282389
32282388
32282387
32282386
32282385
32282384
32282383
32282382
32282381
32282380
32282379
32282378
32282377
32282376
32282375
32282374
32282373
32282372
32282371
32282370
32282369
32282367
32282366
32282365
32282364
32282363
32282362
32282361
32282360
32282359
32282358
32282357
32282356
32282355
32282354
32282353
32282352
32282351
32282350
32282349
32282348
32282347
32282346
32282345
32282344
32282343
32282342
32282341
32282340
32282339
32282338
32282337
32282336
32282335
32282334
32282333
32282332
32282331
32282330
32282329
32282328
32282327
32282326
32282325
32282324
32282323
32282322
32282321
32282320
32282319
32282318
32282317
32282316
32282315
32282314
32282313
32282312
32282311
32282310
32282309
32282308
32282307
32282306
32282305
32282304
32282303
32282302
32282301
32282300
32282299
32282298
32282297
32282296
32282295
32282294
32282293
32282292
32282291
32282290
32282289
32282288
32282287
32282286
32282285
32282284
32282283
32282282
32282281
32282280
32282279
32282278
32282277
32282276
32282275
32282274
32282273
32282272
32282271
32282270
32282269
32282268
32282267
32282266
32282265
32282264
32282263
32282262
32282261
32282260
32282259
32282258
32282256
32282255
32282254
32282253
32282252
32282251
32282250
32282249
32282248
32282247
32282246
32282245
32282244
32282243
32282242
32282241
32282240
32282239
32282238
32282237
32282236
32282235
32282234
32282233
32282232
32282231
32282230
32282229
32282228
32282227
32282226
32282225
32282224
32282223
32282222
32282221
32282220
32282219
32282218
32282217
32282216
32282215
32282214
32282213
32282212
32282211
32282210
32282209
32282208
32282207
32282206
32282205
32282204
32282203
32282202
32282201
32282200
32282199
32282198
32282197
32282196
32282195
32282194
32282193
32282192
32282191
32282190
32282189
32282188
32282187
32282186
32282185
32282184
32282183
32282182
32282181
32282180
32282179
32282178
32282177
32282176
32282175
32282174
32282173
32282172
32282171
32282170
32282169
32282168
32282167
32282166
32282165
32282164
32282163
32282162
32282161
32282160
32282159
32282158
32282157
32282156
32282155
32282154
32282153
32282152
32282151
32282150
32282149
32282148
32282147
32282146
32282145
32282144
32282143
32282142
32282141
32282140
32282139
32282138
32282137
32282136
32282135
32282134
32282133
32282132
32282131
32282130
32282129
32282128
32282127
32282126
32282125
32282124
32282123
32282122
32282121
32282120
32282119
32282118
32282117
32282116
32282115
32282114
32282113
32282112
32282111
32282110
32282109
32282108
32282107
32282106
32282104
32282103
32282102
32282101
32282100
32282098
32282097
32282096
32282095
32282094
32282093
32282092
32282091
32282090
32282089
32282088
32282087
32282086
32282085
32282084
32282083
32282082
32282081
32282080
32282079
32282078
32282077
32282076
32282075
32282074
32282073
32282071
32282069
32282068
32282067
32282066
32282065
32282064
32282063
32282062
32282061
32282060
32282059
32282058
32282057
32282056
32282055
32282054
32282053
32282052
32282051
32282050
32282049
32282048
32282047
32282046
32282045
32282044
32282043
32282042
32282041
32282040
32282039
32282037
32282036
32282035
32282034
32282033
32282032
32282031
32282030
32282029
32282028
32282027
32282026
32282025
32282024
32282023
32282022
32282021
32282020
32282019
32282018
32282017
32282016
32282015
32282014
32282013
32282012
32282011
32282010
32282009
32282008
32282007
32282006
32282005
32282004
32282003
32282002
32282001
32282000
32281999
32281998
32281997
32281996
32281995
32281994
32281993
32281992
32281991
32281990
32281989
32281988
32281987
32281986
32281985
32281983
32281982
32281981
32281980
32281979
32281978
32281977
32281976
32281975
32281974
32281973
32281972
32281971
32281970
32281969
32281968
32281967
32281966
32281965
32281964
32281963
32281962
32281961
32281960
32281959
32281958
32281957
32281956
32281955
32281954
32281953
32281952
32281951
32281950
32281949
32281948
32281947
32281946
32281945
32281944
32281943
32281942
32281941
32281940
32281939
32281938
32281937
32281936
32281935
32281934
32281933
32281932
32281931
32281930
32281929
32281928
32281927
32281926
32281925
32281924
32281923
32281922
32281921
32281920
32281919
32281918
32281917
32281916
32281915
32281914
32281913
32281912
32281911
32281910
32281909
32281908
32281907
32281906
32281905
32281904
32281903
32281902
32281901
32281900
32281899
32281898
32281897
32281896
32281895
32281894
32281893
32281892
32281891
32281890
32281889
32281888
32281887
32281886
32281885
32281884
32281883
32281882
32281881
32281880
32281879
32281878
32281877
32281876
32281875
32281874
32281873
32281872
32281871
32281870
32281869
32281868
32281867
32281866
32281865
32281864
32281863
32281862
32281861
32281860
32281859
32281858
32281857
32281856
32281855
32281854
32281853
32281852
32281851
32281850
32281849
32281848
32281847
32281846
32281845
32281844
32281843
32281842
32281841
32281840
32281839
32281838
32281837
32281836
32281835
32281834
32281833
32281832
32281831
32281830
32281829
32281828
32281827
32281826
32281825
32281824
32281823
32281822
32281821
32281820
32281819
32281818
32281817
32281816
32281815
32281814
32281813
32281812
32281811
32281810
32281809
32281808
32281807
32281806
32281805
32281804
32281803
32281802
32281801
32281800
32281799
32281798
32281797
32281796
32281795
32281794
32281793
32281792
32281791
32281790
32281789
32281788
32281787
32281786
32281784
32281782
32281781
32281780
32281779
32281778
32281777
32281776
32281775
32281774
32281773
32281772
32281771
32281770
32281769
32281768
32281767
32281766
32281765
32281764
32281763
32281762
32281761
32281760
32281759
32281758
32281757
32281756
32281755
32281754
32281753
32281752
32281751
32281750
32281749
32281748
32281747
32281746
32281745
32281744
32281743
32281742
32281741
32281740
32281739
32281738
32281737
32281736
32281735
32281734
32281733
32281732
32281731
32281730
32281729
32281728
32281727
32281726
32281725
32281724
32281723
32281722
32281721
32281720
32281719
32281718
32281717
32281716
32281715
32281714
32281713
32281712
32281711
32281710
32281709
32281708
32281707
32281706
32281704
32281703
32281702
32281701
32281700
32281699
32281698
32281697
32281696
32281695
32281694
32281693
32281692
32281691
32281690
32281689
32281688
32281687
32281686
32281685
32281684
32281683
32281682
32281681
32281680
32281679
32281678
32281677
32281676
32281675
32281674
32281673
32281672
32281671
32281670
32281669
32281668
32281667
32281666
32281665
32281664
32281663
32281662
32281661
32281660
32281659
32281658
32281657
32281656
32281655
32281654
32281653
32281652
32281651
32281650
32281649
32281648
32281647
32281646
32281645
32281644
32281643
32281642
32281641
32281640
32281639
32281638
32281637
32281636
32281635
32281634
32281633
32281632
32281631
32281630
32281629
32281628
32281627
32281626
32281625
32281624
32281623
32281622
32281621
32281620
32281619
32281618
32281617
32281616
32281615
32281614
32281613
32281612
32281611
32281610
32281609
32281608
32281607
32281606
32281605
32281604
32281603
32281602
32281601
32281600
32281599
32281597
32281596
32281595
32281594
32281593
32281592
32281591
32281590
32281589
32281588
32281587
32281586
32281585
32281584
32281583
32281582
32281581
32281580
32281579
32281578
32281577
32281576
32281575
32281574
32281573
32281572
32281571
32281570
32281569
32281568
32281567
32281566
32281565
32281564
32281563
32281562
32281561
32281560
32281559
32281558
32281557
32281556
32281555
32281554
32281553
32281552
32281551
32281550
32281549
32281548
32281547
32281545
32281544
32281543
32281542
32281541
32281539
32281538
32281537
32281536
32281535
32281534
32281533
32281532
32281531
32281530
32281529
32281528
32281527
32281526
32281525
32281524
32281523
32281522
32281521
32281520
32281519
32281518
32281517
32281516
32281515
32281514
32281513
32281512
32281511
32281510
32281509
32281508
32281507
32281506
32281505
32281504
32281503
32281502
32281501
32281500
32281499
32281498
32281497
32281496
32281495
32281494
32281493
32281492
32281491
32281490
32281489
32281488
32281487
32281486
32281485
32281484
32281483
32281482
32281481
32281480
32281479
32281478
32281477
32281476
32281475
32281474
32281473
32281472
32281471
32281470
32281469
32281468
32281467
32281466
32281465
32281464
32281463
32281462
32281461
32281460
32281459
32281458
32281457
32281456
32281455
32281454
32281453
32281452
32281451
32281450
32281449
32281448
32281447
32281446
32281445
32281444
32281443
32281442
32281441
32281440
32281439
32281438
32281437
32281436
32281435
32281434
32281433
32281432
32281431
32281430
32281429
32281428
32281427
32281426
32281425
32281424
32281423
32281421
32281420
32281419
32281418
32281417
32281416
32281415
32281414
32281413
32281412
32281411
32281410
32281409
32281408
32281407
32281406
32281405
32281404
32281403
32281402
32281401
32281400
32281399
32281398
32281397
32281396
32281395
32281394
32281393
32281392
32281391
32281390
32281389
32281388
32281387
32281386
32281385
32281384
32281383
32281382
32281381
32281380
32281379
32281378
32281377
32281376
32281375
32281374
32281373
32281372
32281371
32281370
32281369
32281368
32281367
32281366
32281365
32281364
32281363
32281362
32281361
32281360
32281359
32281358
32281357
32281356
32281355
32281354
32281353
32281352
32281351
32281350
32281349
32281348
32281347
32281346
32281345
32281344
32281343
32281342
32281341
32281340
32281339
32281338
32281337
32281336
32281335
32281334
32281333
32281332
32281331
32281330
32281329
32281328
32281327
32281326
32281325
32281324
32281323
32281322
32281321
32281320
32281319
32281318
32281317
32281316
32281315
32281314
32281313
32281312
32281311
32281310
32281309
32281308
32281307
32281306
32281305
32281304
32281303
32281302
32281301
32281300
32281299
32281298
32281297
32281296
32281295
32281294
32281293
32281292
32281291
32281290
32281289
32281288
32281287
32281286
32281285
32281284
32281283
32281282
32281281
32281280
32281279
32281278
32281277
32281276
32281275
32281274
32281273
32281272
32281271
32281270
32281269
32281268
32281267
32281266
32281265
32281264
32281263
32281262
32281261
32281260
32281259
32281258
32281257
32281256
32281255
32281254
32281253
32281252
32281251
32281250
32281249
32281248
32281247
32281246
32281245
32281244
32281243
32281242
32281241
32281240
32281239
32281238
32281237
32281236
32281235
32281234
32281233
32281232
32281231
32281230
32281229
32281228
32281227
32281226
32281225
32281224
32281223
32281222
32281221
32281220
32281219
32281218
32281217
32281216
32281215
32281214
32281213
32281212
32281211
32281210
32281209
32281208
32281207
32281206
32281205
32281204
32281203
32281202
32281201
32281200
32281199
32281198
32281197
32281196
32281195
32281194
32281193
32281192
32281191
32281190
32281189
32281188
32281187
32281186
32281185
32281184
32281183
32281182
32281181
32281180
32281178
32281177
32281176
32281175
32281174
32281173
32281172
32281171
32281170
32281169
32281168
32281167
32281166
32281165
32281164
32281163
32281161
32281160
32281159
32281158
32281157
32281156
32281155
32281154
32281153
32281152
32281151
32281150
32281149
32281148
32281147
32281146
32281145
32281144
32281143
32281142
32281141
32281140
32281139
32281138
32281137
32281136
32281135
32281134
32281133
32281132
32281131
32281130
32281129
32281128
32281127
32281126
32281125
32281124
32281123
32281122
32281121
32281120
32281119
32281118
32281117
32281116
32281115
32281114
32281113
32281112
32281111
32281110
32281109
32281108
32281107
32281106
32281105
32281104
32281103
32281102
32281101
32281040
32281039
32281038
32281037
32281036
32281035
32281034
32281033
32281032
32281031
32281030
32281029
32281028
32281027
32281026
32281025
32281024
32281023
32281022
32281021
32281020
32281019
32281018
32281017
32281016
32281015
32281014
32281013
32281012
32281011
32281010
32281009
32281008
32281007
32281006
32281005
32281004
32281003
32281002
32281001
32281000
32280999
32280998
32280997
32280996
32280995
32280994
32280993
32280992
32280991
32280990
32280989
32280988
32280987
32280986
32280985
32280984
32280983
32280982
32280981
32280980
32280979
32280978
32280977
32280976
32280975
32280974
32280973
32280972
32280971
32280970
32280969
32280968
32280967
32280965
32280964
32280963
32280962
32280961
32280960
32280959
32280958
32280957
32280956
32280955
32280954
32280953
32280952
32280951
32280950
32280949
32280948
32280947
32280946
32280945
32280944
32280943
32280942
32280941
32280940
32280939
32280938
32280937
32280936
32280935
32280934
32280933
32280932
32280931
32280930
32280929
32280928
32280927
32280926
32280925
32280924
32280923
32280922
32280921
32280920
32280919
32280918
32280917
32280916
32280915
32280914
32280913
32280912
32280911
32280910
32280909
32280908
32280907
32280906
32280905
32280904
32280903
32280902
32280901
32280900
32280899
32280898
32280897
32280896
32280895
32280894
32280893
32280892
32280891
32280890
32280889
32280888
32280887
32280886
32280885
32280884
32280883
32280882
32280881
32280880
32280879
32280878
32280877
32280876
32280875
32280874
32280873
32280872
32280871
32280870
32280869
32280868
32280867
32280866
32280865
32280864
32280863
32280862
32280861
32280860
32280859
32280858
32280857
32280856
32280855
32280854
32280853
32280852
32280851
32280850
32280849
32280848
32280847
32280846
32280845
32280844
32280843
32280842
32280841
32280840
32280839
32280838
32280837
32280836
32280835
32280833
32280832
32280831
32280830
32280829
32280828
32280827
32280826
32280825
32280824
32280823
32280822
32280821
32280820
32280819
32280818
32280817
32280816
32280815
32280814
32280813
32280812
32280811
32280810
32280809
32280808
32280807
32280806
32280805
32280804
32280803
32280802
32280801
32280800
32280799
32280798
32280797
32280796
32280795
32280794
32280793
32280792
32280791
32280790
32280789
32280788
32280787
32280786
32280785
32280784
32280783
32280782
32280781
32280780
32280779
32280778
32280777
32280775
32280774
32280773
32280772
32280771
32280770
32280769
32280768
32280767
32280766
32280765
32280764
32280763
32280762
32280761
32280760
32280759
32280758
32280757
32280756
32280755
32280754
32280753
32280752
32280751
32280750
32280749
32280748
32280747
32280746
32280745
32280744
32280743
32280742
32280741
32280740
32280739
32280738
32280737
32280736
32280735
32280734
32280733
32280732
32280731
32280730
32280729
32280728
32280727
32280726
32280725
32280724
32280723
32280722
32280721
32280720
32280719
32280718
32280717
32280716
32280715
32280714
32280713
32280712
32280711
32280710
32280709
32280708
32280707
32280706
32280705
32280704
32280703
32280702
32280701
32280700
32280699
32280698
32280697
32280696
32280695
32280694
32280693
32280692
32280691
32280690
32280689
32280688
32280687
32280686
32280685
32280684
32280683
32280682
32280681
32280680
32280679
32280678
32280677
32280676
32280674
32280673
32280671
32280670
32280669
32280667
32280665
32280664
32280663
32280662
32280661
32280660
32280659
32280658
32280657
32280656
32280655
32280654
32280653
32280652
32280651
32280650
32280649
32280648
32280647
32280646
32280645
32280644
32280643
32280642
32280641
32280640
32280639
32280638
32280637
32280636
32280635
32280634
32280633
32280632
32280631
32280630
32280629
32280628
32280627
32280626
32280625
32280624
32280623
32280622
32280621
32280620
32280619
32280618
32280617
32280616
32280615
32280614
32280613
32280612
32280611
32280610
32280609
32280608
32280607
32280606
32280605
32280604
32280603
32280602
32280601
32280600
32280599
32280598
32280597
32280596
32280595
32280594
32280593
32280592
32280591
32280590
32280589
32280588
32280587
32280586
32280585
32280584
32280583
32280582
32280581
32280580
32280579
32280578
32280577
32280576
32280575
32280574
32280573
32280572
32280571
32280570
32280569
32280568
32280567
32280566
32280565
32280564
32280563
32280562
32280561
32280560
32280559
32280558
32280557
32280556
32280555
32280554
32280553
32280552
32280551
32280550
32280549
32280548
32280547
32280546
32280545
32280544
32280543
32280542
32280541
32280540
32280539
32280538
32280537
32280536
32280535
32280534
32280533
32280532
32280531
32280530
32280529
32280528
32280527
32280526
32280525
32280524
32280523
32280522
32280521
32280520
32280519
32280518
32280517
32280516
32280515
32280514
32280513
32280512
32280511
32280510
32280509
32280508
32280507
32280506
32280505
32280504
32280503
32280502
32280501
32280500
32280499
32280498
32280496
32280495
32280494
32280493
32280492
32280491
32280490
32280489
32280488
32280487
32280486
32280485
32280484
32280483
32280482
32280481
32280480
32280479
32280478
32280477
32280476
32280475
32280474
32280473
32280472
32280471
32280470
32280469
32280468
32280467
32280466
32280464
32280463
32280462
32280461
32280460
32280459
32280458
32280457
32280456
32280455
32280454
32280453
32280452
32280451
32280450
32280449
32280448
32280447
32280446
32280445
32280444
32280443
32280442
32280441
32280440
32280439
32280438
32280437
32280436
32280435
32280434
32280433
32280432
32280431
32280430
32280429
32280428
32280427
32280426
32280425
32280424
32280423
32280422
32280420
32280419
32280418
32280417
32280416
32280415
32280414
32280413
32280412
32280411
32280410
32280409
32280408
32280407
32280406
32280405
32280404
32280403
32280402
32280401
32280400
32280399
32280398
32280397
32280396
32280395
32280394
32280393
32280392
32280391
32280390
32280389
32280388
32280387
32280386
32280385
32280384
32280383
32280382
32280381
32280380
32280379
32280378
32280377
32280376
32280375
32280374
32280373
32280372
32280371
32280370
32280369
32280368
32280367
32280366
32280365
32280364
32280363
32280362
32280361
32280360
32280359
32280358
32280357
32280356
32280355
32280354
32280353
32280352
32280351
32280350
32280349
32280348
32280347
32280346
32280345
32280344
32280343
32280342
32280341
32280340
32280339
32280338
32280337
32280336
32280335
32280334
32280333
32280332
32280331
32280330
32280329
32280328
32280327
32280326
32280325
32280324
32280323
32280322
32280321
32280320
32280319
32280318
32280317
32280316
32280315
32280314
32280313
32280312
32280311
32280310
32280309
32280308
32280307
32280306
32280305
32280304
32280303
32280302
32280301
32280300
32280299
32280298
32280297
32280296
32280295
32280294
32280293
32280292
32280291
32280290
32280289
32280288
32280287
32280286
32280285
32280284
32280283
32280282
32280281
32280280
32280279
32280278
32280277
32280276
32280275
32280274
32280273
32280272
32280271
32280270
32280269
32280268
32280267
32280266
32280265
32280264
32280263
32280262
32280261
32280260
32280259
32280258
32280257
32280256
32280255
32280254
32280253
32280252
32280251
32280250
32280249
32280248
32280247
32280246
32280245
32280244
32280243
32280242
32280241
32280240
32280239
32280238
32280237
32280236
32280235
32280234
32280233
32280232
32280231
32280230
32280229
32280228
32280227
32280226
32280225
32280224
32280223
32280222
32280221
32280220
32280219
32280218
32280217
32280216
32280214
32280213
32280212
32280210
32280209
32280208
32280207
32280206
32280205
32280204
32280203
32280202
32280201
32280200
32280199
32280198
32280197
32280196
32280195
32280194
32280193
32280192
32280191
32280190
32280189
32280188
32280187
32280186
32280185
32280184
32280183
32280182
32280181
32280180
32280179
32280178
32280177
32280176
32280175
32280174
32280173
32280172
32280170
32280169
32280168
32280167
32280166
32280165
32280164
32280163
32280162
32280161
32280160
32280159
32280158
32280157
32280156
32280155
32280154
32280153
32280152
32280151
32280150
32280149
32280148
32280147
32280146
32280145
32280144
32280142
32280141
32280140
32280139
32280138
32280137
32280136
32280135
32280134
32280133
32280132
32280131
32280130
32280129
32280128
32280127
32280126
32280125
32280124
32280123
32280122
32280121
32280120
32280119
32280118
32280117
32280116
32280115
32280114
32280113
32280112
32280111
32280110
32280109
32280108
32280107
32280106
32280105
32280104
32280103
32280102
32280101
32280100
32280099
32280098
32280097
32280096
32280094
32280093
32280092
32280091
32280090
32280089
32280088
32280087
32280086
32280085
32280084
32280083
32280082
32280081
32280080
32280079
32280078
32280077
32280076
32280075
32280074
32280073
32280072
32280071
32280070
32280069
32280068
32280067
32280066
32280065
32280064
32280063
32280062
32280061
32280060
32280059
32280058
32280057
32280056
32280055
32280054
32280053
32280052
32280051
32280050
32280049
32280047
32280046
32280045
32280044
32280043
32280042
32280041
32280040
32280039
32280038
32280037
32280036
32280035
32280034
32280033
32280032
32280031
32280030
32280029
32280028
32280027
32280026
32280025
32280024
32280023
32280022
32280021
32280020
32280019
32280018
32280017
32280016
32280015
32280014
32280013
32280012
32280011
32280010
32280009
32280008
32280007
32280006
32280005
32280004
32280003
32280002
32280001
32280000
32279999
32279998
32279997
32279996
32279995
32279994
32279993
32279992
32279991
32279990
32279989
32279988
32279987
32279986
32279985
32279984
32279983
32279982
32279981
32279980
32279979
32279978
32279977
32279976
32279975
32279974
32279972
32279971
32279970
32279969
32279968
32279967
32279966
32279965
32279964
32279963
32279962
32279961
32279960
32279959
32279958
32279957
32279956
32279955
32279954
32279953
32279952
32279951
32279950
32279949
32279948
32279947
32279946
32279945
32279944
32279943
32279942
32279941
32279940
32279939
32279938
32279937
32279936
32279935
32279934
32279933
32279932
32279931
32279930
32279929
32279928
32279927
32279926
32279925
32279924
32279923
32279922
32279921
32279920
32279919
32279918
32279917
32279916
32279915
32279914
32279913
32279912
32279911
32279910
32279909
32279908
32279907
32279906
32279905
32279904
32279903
32279902
32279901
32279900
32279899
32279898
32279897
32279896
32279895
32279894
32279893
32279892
32279891
32279890
32279889
32279888
32279887
32279886
32279885
32279884
32279883
32279882
32279881
32279880
32279879
32279878
32279877
32279876
32279875
32279874
32279873
32279872
32279871
32279870
32279869
32279868
32279867
32279866
32279865
32279864
32279863
32279862
32279861
32279860
32279859
32279858
32279857
32279856
32279855
32279854
32279853
32279852
32279851
32279850
32279849
32279848
32279847
32279846
32279844
32279843
32279842
32279841
32279840
32279839
32279838
32279837
32279836
32279835
32279834
32279833
32279832
32279831
32279830
32279829
32279828
32279827
32279826
32279825
32279824
32279823
32279822
32279821
32279819
32279818
32279817
32279816
32279815
32279814
32279813
32279812
32279811
32279809
32279808
32279807
32279806
32279805
32279804
32279803
32279802
32279801
32279800
32279799
32279798
32279797
32279796
32279795
32279794
32279793
32279792
32279791
32279790
32279789
32279788
32279787
32279786
32279785
32279784
32279782
32279781
32279780
32279779
32279778
32279777
32279776
32279775
32279774
32279773
32279772
32279771
32279770
32279769
32279768
32279767
32279766
32279765
32279764
32279763
32279762
32279761
32279760
32279759
32279758
32279757
32279756
32279755
32279754
32279753
32279752
32279751
32279750
32279749
32279748
32279747
32279746
32279745
32279744
32279743
32279742
32279741
32279740
32279739
32279738
32279737
32279736
32279735
32279734
32279733
32279732
32279731
32279730
32279729
32279728
32279727
32279726
32279725
32279724
32279723
32279722
32279721
32279720
32279719
32279718
32279717
32279716
32279715
32279714
32279713
32279712
32279711
32279710
32279709
32279708
32279707
32279706
32279705
32279704
32279703
32279702
32279701
32279700
32279699
32279698
32279697
32279696
32279695
32279694
32279693
32279692
32279691
32279690
32279689
32279688
32279687
32279686
32279685
32279684
32279683
32279682
32279680
32279679
32279678
32279677
32279676
32279675
32279674
32279673
32279672
32279671
32279670
32279669
32279668
32279667
32279666
32279665
32279664
32279663
32279662
32279661
32279660
32279659
32279658
32279657
32279656
32279655
32279654
32279653
32279652
32279651
32279650
32279649
32279648
32279647
32279646
32279645
32279644
32279643
32279642
32279641
32279640
32279639
32279638
32279637
32279636
32279635
32279634
32279633
32279632
32279631
32279630
32279629
32279628
32279627
32279626
32279625
32279624
32279623
32279622
32279621
32279620
32279619
32279618
32279617
32279616
32279615
32279614
32279613
32279612
32279611
32279610
32279609
32279608
32279607
32279606
32279605
32279604
32279603
32279602
32279601
32279599
32279598
32279597
32279596
32279595
32279594
32279593
32279592
32279591
32279590
32279589
32279588
32279587
32279586
32279585
32279584
32279583
32279582
32279581
32279580
32279579
32279578
32279577
32279576
32279575
32279574
32279573
32279572
32279571
32279570
32279569
32279568
32279567
32279566
32279565
32279563
32279562
32279561
32279560
32279559
32279558
32279557
32279556
32279555
32279554
32279553
32279552
32279551
32279550
32279549
32279548
32279547
32279546
32279545
32279544
32279543
32279542
32279541
32279540
32279539
32279538
32279537
32279536
32279535
32279534
32279533
32279532
32279531
32279530
32279529
32279528
32279527
32279526
32279525
32279524
32279523
32279522
32279521
32279520
32279519
32279518
32279517
32279516
32279515
32279514
32279513
32279512
32279511
32279510
32279509
32279508
32279507
32279506
32279505
32279504
32279503
32279502
32279501
32279500
32279499
32279498
32279497
32279496
32279495
32279494
32279493
32279492
32279491
32279490
32279489
32279488
32279487
32279486
32279485
32279484
32279483
32279482
32279481
32279480
32279479
32279478
32279477
32279476
32279475
32279474
32279473
32279472
32279471
32279470
32279469
32279468
32279467
32279466
32279465
32279464
32279462
32279461
32279460
32279459
32279458
32279457
32279456
32279455
32279454
32279453
32279452
32279451
32279450
32279449
32279448
32279447
32279446
32279445
32279444
32279443
32279442
32279441
32279440
32279439
32279438
32279437
32279436
32279435
32279434
32279433
32279432
32279431
32279430
32279429
32279428
32279427
32279426
32279425
32279424
32279423
32279422
32279421
32279420
32279419
32279418
32279417
32279416
32279415
32279414
32279413
32279412
32279411
32279410
32279409
32279408
32279407
32279406
32279405
32279404
32279403
32279402
32279401
32279400
32279399
32279398
32279397
32279396
32279395
32279394
32279393
32279392
32279391
32279390
32279389
32279388
32279387
32279386
32279385
32279384
32279383
32279382
32279381
32279380
32279379
32279378
32279377
32279376
32279375
32279374
32279373
32279372
32279371
32279370
32279369
32279368
32279367
32279366
32279365
32279364
32279363
32279362
32279361
32279360
32279359
32279358
32279357
32279356
32279355
32279354
32279353
32279352
32279351
32279350
32279349
32279348
32279347
32279346
32279345
32279344
32279343
32279342
32279341
32279340
32279339
32279338
32279337
32279336
32279335
32279334
32279333
32279332
32279331
32279330
32279328
32279327
32279326
32279325
32279324
32279323
32279322
32279321
32279320
32279319
32279318
32279317
32279316
32279315
32279314
32279313
32279312
32279311
32279310
32279309
32279308
32279307
32279306
32279305
32279304
32279303
32279302
32279301
32279300
32279299
32279298
32279296
32279295
32279294
32279293
32279292
32279291
32279290
32279289
32279288
32279287
32279286
32279285
32279284
32279283
32279282
32279281
32279280
32279279
32279278
32279277
32279276
32279275
32279274
32279273
32279272
32279271
32279270
32279269
32279268
32279267
32279266
32279265
32279264
32279263
32279262
32279261
32279260
32279259
32279258
32279257
32279256
32279255
32279254
32279253
32279252
32279251
32279250
32279249
32279248
32279247
32279246
32279245
32279244
32279243
32279242
32279241
32279239
32279238
32279237
32279236
32279235
32279234
32279233
32279232
32279231
32279230
32279229
32279228
32279226
32279225
32279224
32279223
32279222
32279221
32279220
32279219
32279218
32279217
32279216
32279214
32279213
32279212
32279211
32279209
32279208
32279207
32279206
32279205
32279204
32279203
32279202
32279201
32279200
32279199
32279198
32279196
32279195
32279194
32279193
32279192
32279191
32279190
32279189
32279188
32279187
32279186
32279185
32279184
32279183
32279182
32279181
32279180
32279179
32279178
32279177
32279176
32279175
32279174
32279173
32279172
32279171
32279170
32279169
32279168
32279167
32279166
32279165
32279164
32279163
32279162
32279161
32279160
32279159
32279158
32279157
32279156
32279155
32279154
32279153
32279152
32279151
32279150
32279149
32279148
32279147
32279146
32279145
32279144
32279143
32279142
32279140
32279139
32279138
32279137
32279136
32279134
32279133
32279132
32279131
32279130
32279129
32279127
32279126
32279125
32279124
32279123
32279122
32279121
32279120
32279119
32279118
32279117
32279116
32279115
32279114
32279113
32279112
32279111
32279110
32279109
32279108
32279107
32279106
32279105
32279104
32279103
32279102
32279101
32279100
32279099
32279098
32279097
32279096
32279095
32279094
32279093
32279092
32279091
32279090
32279089
32279088
32279087
32279086
32279085
32279084
32279083
32279082
32279081
32279080
32279079
32279078
32279077
32279076
32279075
32279074
32279073
32279072
32279071
32279070
32279069
32279068
32279067
32279066
32279065
32279064
32279063
32279062
32279061
32279060
32279059
32279058
32279057
32279056
32279055
32279054
32279053
32279052
32279051
32279050
32279049
32279048
32279047
32279046
32279045
32279044
32279043
32279042
32279041
32279040
32279039
32279038
32279037
32279036
32279035
32279034
32279033
32279032
32279031
32279030
32279029
32279028
32279027
32279026
32279025
32279024
32279023
32279022
32279020
32279019
32279018
32279017
32279016
32279015
32279014
32279013
32279012
32279011
32279010
32279009
32279008
32279007
32279006
32279005
32279004
32279003
32279002
32279001
32279000
32278999
32278998
32278997
32278996
32278995
32278994
32278993
32278992
32278991
32278990
32278989
32278988
32278987
32278986
32278985
32278984
32278983
32278982
32278981
32278980
32278979
32278977
32278976
32278975
32278974
32278973
32278972
32278971
32278970
32278969
32278968
32278966
32278965
32278964
32278963
32278962
32278961
32278960
32278959
32278958
32278957
32278956
32278955
32278954
32278953
32278952
32278951
32278950
32278949
32278948
32278947
32278946
32278945
32278944
32278943
32278942
32278941
32278940
32278939
32278938
32278937
32278936
32278935
32278934
32278933
32278932
32278931
32278930
32278929
32278928
32278927
32278926
32278925
32278924
32278923
32278922
32278921
32278920
32278919
32278918
32278917
32278916
32278915
32278914
32278913
32278912
32278911
32278910
32278909
32278908
32278907
32278906
32278905
32278904
32278903
32278902
32278901
32278900
32278899
32278898
32278897
32278896
32278895
32278894
32278893
32278892
32278891
32278890
32278889
32278888
32278887
32278886
32278885
32278884
32278883
32278882
32278881
32278880
32278878
32278877
32278876
32278875
32278874
32278873
32278872
32278871
32278870
32278869
32278868
32278867
32278866
32278865
32278864
32278863
32278862
32278861
32278860
32278859
32278858
32278857
32278856
32278855
32278854
32278853
32278852
32278850
32278849
32278848
32278847
32278846
32278845
32278844
32278843
32278842
32278841
32278840
32278839
32278838
32278837
32278836
32278835
32278834
32278833
32278832
32278831
32278830
32278829
32278828
32278827
32278826
32278825
32278824
32278823
32278822
32278821
32278820
32278819
32278818
32278817
32278816
32278815
32278814
32278813
32278812
32278811
32278810
32278809
32278808
32278807
32278806
32278805
32278804
32278803
32278802
32278801
32278800
32278799
32278798
32278797
32278796
32278795
32278794
32278793
32278792
32278791
32278790
32278789
32278788
32278787
32278785
32278783
32278782
32278781
32278780
32278779
32278778
32278777
32278776
32278775
32278774
32278773
32278772
32278771
32278770
32278769
32278768
32278767
32278766
32278765
32278764
32278763
32278762
32278761
32278760
32278759
32278758
32278757
32278756
32278755
32278754
32278753
32278752
32278751
32278750
32278749
32278748
32278747
32278746
32278745
32278744
32278743
32278742
32278741
32278740
32278739
32278738
32278737
32278736
32278735
32278734
32278733
32278732
32278731
32278730
32278729
32278728
32278727
32278726
32278725
32278724
32278723
32278722
32278721
32278720
32278719
32278718
32278717
32278716
32278715
32278714
32278713
32278712
32278711
32278710
32278709
32278708
32278707
32278706
32278705
32278704
32278703
32278702
32278701
32278700
32278699
32278698
32278697
32278696
32278695
32278694
32278693
32278692
32278691
32278690
32278689
32278688
32278687
32278686
32278685
32278684
32278683
32278682
32278681
32278680
32278679
32278678
32278677
32278676
32278675
32278674
32278673
32278672
32278671
32278670
32278669
32278668
32278667
32278666
32278665
32278664
32278663
32278662
32278661
32278659
32278658
32278657
32278656
32278655
32278654
32278653
32278652
32278651
32278650
32278649
32278648
32278647
32278646
32278645
32278644
32278643
32278642
32278641
32278640
32278639
32278638
32278637
32278636
32278635
32278634
32278633
32278632
32278631
32278630
32278629
32278628
32278627
32278626
32278625
32278624
32278623
32278622
32278621
32278620
32278619
32278618
32278617
32278616
32278615
32278614
32278613
32278612
32278611
32278610
32278609
32278608
32278607
32278606
32278605
32278604
32278603
32278602
32278601
32278600
32278599
32278598
32278597
32278596
32278595
32278594
32278593
32278592
32278591
32278590
32278589
32278588
32278587
32278586
32278585
32278584
32278583
32278582
32278581
32278580
32278579
32278578
32278577
32278576
32278575
32278574
32278573
32278572
32278571
32278570
32278569
32278568
32278567
32278566
32278565
32278564
32278563
32278562
32278561
32278560
32278559
32278558
32278557
32278556
32278555
32278554
32278553
32278552
32278551
32278550
32278549
32278548
32278547
32278546
32278545
32278544
32278543
32278542
32278541
32278540
32278539
32278538
32278537
32278536
32278535
32278534
32278533
32278532
32278531
32278530
32278529
32278528
32278527
32278526
32278525
32278524
32278523
32278522
32278521
32278520
32278519
32278518
32278517
32278516
32278515
32278514
32278513
32278512
32278511
32278510
32278509
32278508
32278507
32278506
32278505
32278504
32278503
32278502
32278501
32278500
32278499
32278498
32278497
32278496
32278495
32278494
32278493
32278491
32278490
32278489
32278488
32278487
32278486
32278485
32278484
32278483
32278482
32278481
32278480
32278479
32278478
32278477
32278476
32278475
32278474
32278472
32278471
32278470
32278469
32278468
32278467
32278466
32278465
32278464
32278463
32278462
32278461
32278460
32278459
32278458
32278457
32278456
32278455
32278454
32278453
32278452
32278451
32278450
32278449
32278448
32278447
32278446
32278445
32278444
32278443
32278442
32278441
32278440
32278439
32278438
32278437
32278436
32278435
32278434
32278433
32278432
32278431
32278430
32278429
32278428
32278427
32278426
32278425
32278424
32278423
32278422
32278421
32278420
32278419
32278418
32278417
32278416
32278415
32278414
32278413
32278412
32278411
32278410
32278408
32278407
32278406
32278405
32278404
32278403
32278402
32278401
32278400
32278399
32278398
32278397
32278396
32278395
32278394
32278393
32278392
32278391
32278390
32278389
32278388
32278387
32278386
32278385
32278384
32278382
32278381
32278380
32278379
32278378
32278377
32278376
32278375
32278374
32278373
32278372
32278371
32278370
32278369
32278368
32278367
32278366
32278365
32278364
32278363
32278362
32278361
32278360
32278359
32278358
32278357
32278356
32278355
32278354
32278353
32278352
32278351
32278350
32278349
32278348
32278347
32278346
32278345
32278344
32278343
32278342
32278341
32278340
32278339
32278338
32278337
32278336
32278335
32278334
32278333
32278332
32278331
32278330
32278329
32278328
32278327
32278326
32278325
32278324
32278323
32278322
32278321
32278320
32278319
32278318
32278317
32278316
32278315
32278314
32278313
32278312
32278311
32278310
32278309
32278308
32278307
32278306
32278305
32278304
32278303
32278302
32278301
32278300
32278299
32278298
32278297
32278296
32278295
32278294
32278293
32278292
32278290
32278289
32278288
32278287
32278286
32278285
32278284
32278283
32278282
32278281
32278280
32278279
32278278
32278277
32278276
32278275
32278274
32278273
32278272
32278271
32278270
32278269
32278268
32278267
32278266
32278265
32278264
32278263
32278262
32278261
32278260
32278259
32278258
32278257
32278256
32278255
32278254
32278253
32278251
32278250
32278249
32278248
32278247
32278246
32278245
32278244
32278242
32278241
32278240
32278239
32278238
32278237
32278236
32278235
32278234
32278233
32278232
32278231
32278230
32278229
32278228
32278227
32278226
32278225
32278224
32278223
32278222
32278221
32278220
32278219
32278218
32278217
32278216
32278215
32278214
32278213
32278212
32278211
32278210
32278209
32278208
32278207
32278206
32278205
32278204
32278203
32278202
32278201
32278200
32278199
32278198
32278197
32278196
32278195
32278194
32278193
32278192
32278191
32278190
32278189
32278188
32278187
32278186
32278185
32278184
32278183
32278182
32278181
32278180
32278179
32278178
32278177
32278176
32278175
32278173
32278172
32278171
32278170
32278168
32278167
32278166
32278165
32278164
32278163
32278162
32278161
32278160
32278159
32278158
32278157
32278156
32278155
32278154
32278153
32278152
32278151
32278150
32278149
32278148
32278147
32278146
32278145
32278143
32278142
32278141
32278140
32278139
32278136
32278135
32278134
32278133
32278132
32278131
32278130
32278129
32278128
32278127
32278126
32278125
32278124
32278122
32278121
32278120
32278119
32278118
32278117
32278116
32278114
32278113
32278112
32278111
32278110
32278109
32278108
32278107
32278106
32278105
32278104
32278103
32278102
32278101
32278100
32278099
32278098
32278097
32278096
32278095
32278094
32278093
32278092
32278091
32278090
32278089
32278088
32278087
32278086
32278085
32278084
32278083
32278082
32278081
32278080
32278079
32278078
32278077
32278076
32278075
32278074
32278073
32278072
32278071
32278070
32278069
32278068
32278067
32278066
32278065
32278064
32278063
32278062
32278061
32278060
32278059
32278058
32278057
32278056
32278055
32278054
32278053
32278052
32278051
32278050
32278049
32278048
32278047
32278046
32278045
32278044
32278043
32278042
32278041
32278040
32278039
32278038
32278037
32278036
32278035
32278034
32278033
32278032
32278031
32278030
32278029
32278028
32278027
32278026
32278025
32278024
32278023
32278022
32278020
32278019
32278018
32278017
32278016
32278015
32278014
32278013
32278012
32278011
32278010
32278009
32278007
32278006
32278005
32278004
32278003
32278002
32278001
32278000
32277999
32277998
32277997
32277996
32277995
32277994
32277993
32277991
32277990
32277989
32277988
32277987
32277986
32277985
32277984
32277983
\ No newline at end of file
from django.contrib import admin
# Register your models here.
from django.apps import AppConfig
class Trans2EsConfig(AppConfig):
name = 'trans2es'
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from django.core.management.base import BaseCommand
import traceback
import logging
from moment.views.consum import kafka_consum
from libs.error import logging_exception
logger = logging.getLogger('async_debug')
class Command(BaseCommand):
args = ''
help = 'dump data to elasticsearch, parallel'
from optparse import make_option
option_list = BaseCommand.option_list + (
make_option('-t', '--type', dest='type', help='type name to dump data to elasticsearch', metavar='TYPE',
default=''),
make_option('-i', '--index-prefix', dest='index_prefix', help='index name to dump data to elasticsearch',
metavar='INDEX_PREFIX'),
make_option('-p', '--parallel', dest='parallel', help='parallel process count', metavar='PARALLEL'),
make_option('-s', '--pks', dest='pks', help='specify sync pks, comma separated', metavar='PKS', default=''),
make_option('--streaming-slicing', dest='streaming_slicing', action='store_true', default=True),
make_option('--no-streaming-slicing', dest='streaming_slicing', action='store_false', default=True),
make_option('-S', '--sync_type', dest='sync_type', help='sync data to es', metavar='TYPE', default='')
)
def handle(self, *args, **options):
try:
if len(options["sync_type"]) and options["sync_type"] == "auto_vest":
kafka_consum()
logging.info("add a log >>>>> auto_vest")
except:
logging_exception()
logging.error("catch exception,err_msg:%s" % traceback.format_exc())
from django.db import models
# Create your models here.
from django.test import TestCase
# Create your tests here.
from django.shortcuts import render
# Create your views here.
......@@ -41,7 +41,8 @@ INSTALLED_APPS = (
"click",
"moment",
'follow',
'comment'
'comment',
'trans2es'
)
MIDDLEWARE_CLASSES = (
......@@ -55,8 +56,6 @@ MIDDLEWARE_CLASSES = (
'django.middleware.security.SecurityMiddleware',
)
# ROOT_URLCONF = 'vest.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
......
# coding=utf-8
from celery import *
from celery.schedules import crontab
KAFKA_TOPIC_NAME = "auto_vest"
KAFKA_BROKER_LIST = "kafka-service-0.kafka-service-headless.test:9092"
......@@ -16,19 +13,17 @@ REDIS = {
}
# from base
DATABASES = {
'ENGINE': 'django.db.backends.mysql', # 设置为mysql数据库
'NAME': 'zhengxing_test',
'USER': 'work',
'PASSWORD': 'Gengmei1',
'HOST': 'bj-cdb-6slgqwlc.sql.tencentcdb.com',
'PORT': '62120',
'OPTIONS': {
ENGINE = 'django.db.backends.mysql', # 设置为mysql数据库
NAME = 'mimas_test'
USER = 'work'
PASSWORD = 'Gengmei1'
HOST = 'bj-cdb-6slgqwlc.sql.tencentcdb.com'
PORT = 62120
OPTIONS = {
"init_command": "SET foreign_key_checks = 0;",
"charset": "utf8mb4", # 为了支持emoji表情
},
}
GM_KV_HOSTS = [
{
"host": "redis.paas-test.env",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment