接入自动化的定时任务系统

构建整体的私有云服务

构建自动化系统n8n

n8n定时任务,调度,,

这里的爬虫抓取如何处理,

  • 第一种获取到对应下载链接的session和token,通过browserless使用。(可以完成,cookies直接添加,然后调用aria2c,增加状态管理)

  • 通过windows下面的selenium,加载用户目录后使用。关闭自动更新,加载user-dir。(使用老版本默认没有更新。)

    • windows 用rpc方式调用吗,接受到数据
  • mongodb和rpc以后常备,aria2c 和 bt等同。

  • 单次抓取(记录游标)


熟悉n8n

  • 使用mongodb,添加流程,幂等,生成成功的下载url和文件,生成失败的url和文件等。
  • 数据库写入对应的值,
  • 先写在线持续的

kafka 一直监听 ,使用while running

running = True

def basic_consume_loop(consumer, topics):
    try:
        consumer.subscribe(topics)

        while running:
            msg = consumer.poll(timeout=1.0)
            if msg is None: continue

            if msg.error():
                if msg.error().code() == KafkaError._PARTITION_EOF:
                    # End of partition event
                    sys.stderr.write('%% %s [%d] reached end at offset %d\n' %
                                     (msg.topic(), msg.partition(), msg.offset()))
                elif msg.error():
                    raise KafkaException(msg.error())
            else:
                msg_process(msg)
    finally:
        # Close down consumer to commit final offsets.
        consumer.close()

def shutdown():
    running = False

browserless不知道如何保存状态,可能要用docker的命令行保存状态,还是先用selenium和windows吧。

567验证吗出现故障

好像不是代码问题,然后无限重试了,同时docker的aria2-pro也意外停止了。原因不明确。


Activiti

年初要做一个运维自动化平台,需要用到流程引擎,本来打算项目用golang写的,但是golang的流程引擎功能太简单实在是用不来,最后还是选型java + activiti。到activiti官网一看,嘿出7.0了结果文档是刚写的还不全,我们java还是8的,7.0是匹配的java11,最终是问题太多只好放弃用activiti6.0了。

Python 下面 有 AirFlow。。也是事件流平台,