首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Ec2 ubuntu中使用Django-Crontab

如何在Ec2 ubuntu中使用Django-Crontab
EN

Stack Overflow用户
提问于 2021-04-08 14:55:51
回答 1查看 9关注 0票数 0

cronjob

代码语言:javascript
复制
*/30 * * * * /home/ubuntu/web-coin-crawler/venv/bin/python3 /home/ubuntu/web-coin-crawler/webcoincrawler/cron.crontab 

在两个站点上爬行的cron.py ()函数。保存到Django orm作为save()。

代码语言:javascript
复制
import json
import collections

import crawl_coinmarketcal as coinmarketcal
import crawl_coinscalendar as coinscalendar
import os

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings")
import django
import datetime

django.setup()
from crawled_data.models import BlogData


def preprocessingDict(dic: dict):
    coin_dict = collections.defaultdict(dict)
    for key, value in dic.items():
        if value['symbol'] in coin_dict[value['date']]:
            coin_dict[value['date']][value['symbol']].append([key, value['title'], value['name']])
        else:
            coin_dict[value['date']][value['symbol']] = [[key, value['title'], value['name']]]
    return coin_dict


def crontab():
    result = dict()

    urls = coinmarketcal.get_urls()
    for url in urls:
        coinmarketcal.do_crawl(url, result)

    urls = coinscalendar.get_urls()
    for url in urls:
        coinscalendar.do_crawl(url, result)

    BlogData(title="COIN_DATA", content=json.dumps(preprocessingDict(result.copy()))).save()

I checked that the cron tab runs every 30 minutes.然而,没有数据存储在Django orm中。

EN

回答 1

Stack Overflow用户

发布于 2021-04-09 21:33:25

我将Python文件本身更改为run,问题就解决了。cron.crontab -> cron

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66998745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档