import arlo
This commit is contained in:
0
task/article_publish/__init__.py
Normal file
0
task/article_publish/__init__.py
Normal file
BIN
task/article_publish/__pycache__/__init__.cpython-312.pyc
Normal file
BIN
task/article_publish/__pycache__/__init__.cpython-312.pyc
Normal file
Binary file not shown.
BIN
task/article_publish/__pycache__/article_publish.cpython-312.pyc
Normal file
BIN
task/article_publish/__pycache__/article_publish.cpython-312.pyc
Normal file
Binary file not shown.
38
task/article_publish/article_publish.py
Normal file
38
task/article_publish/article_publish.py
Normal file
@ -0,0 +1,38 @@
|
||||
from channel.toutiao.toutiao import Toutiao
|
||||
from database.database import get_session
|
||||
from database.tcontentdispatch.curd import get_recent_24_hours_content_to_dispatch
|
||||
from database.tscheduler.model import TScheduler
|
||||
from database.ttaskqueue.curd import create_task
|
||||
from database.ttaskqueue.model import TTaskQueue
|
||||
from log.log_manager import log
|
||||
from task.manager_task import execute_task
|
||||
|
||||
|
||||
def article_publish():
|
||||
# 1. 从数据库获取文章
|
||||
with get_session() as db:
|
||||
# 2. 获取所有未发布的文章
|
||||
article = get_recent_24_hours_content_to_dispatch(db, '新鲜事')
|
||||
if article:
|
||||
# 3. toutiao发布文章
|
||||
toutiao = Toutiao(article)
|
||||
toutiao.publish()
|
||||
# 4. 打印日志
|
||||
log(f'publish article {article.title} to toutiao success with article id: {article.id} and article time: {article.get_creation_date_in_localtime()}')
|
||||
|
||||
|
||||
def article_publish_task():
|
||||
execute_task(article_publish)
|
||||
|
||||
def article_publish_use_task_queue(scheduler: TScheduler):
|
||||
with get_session() as db:
|
||||
task = TTaskQueue()
|
||||
task.task_name = 'toutiao_article_publish'
|
||||
task.module_path = scheduler.module_path
|
||||
task.function_name = scheduler.handler
|
||||
task.scheduler = scheduler.task_name
|
||||
create_task(db, task)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
article_publish_task()
|
||||
Reference in New Issue
Block a user