手动运行预定的zappa函数

时间:2019-10-03 12:39:53

标签: django zappa

我想在zappa_settings.json中本地测试事件

我已经设置了环境,并且我的服务器在本地计算机上运行了Django站点,我还能够通过Zappa将Django站点部署到AWS。在将其推送到云之前,我想测试该事件,该事件用于使用Lambda函数将cronjob部署到云。我一直在进口错误。

这是我在zappa_settings.json中的活动

"events": [{
     "function": "main.kpi_report.auto_scraper",
     "expression": "cron(20 12 * * ? *)"
     // "expression": "rate(10 minutes)"
     }],

这是我的kpi_report.py文件中的导入

from .mws_settings import mws_settings
from .util import get_country_by_marketplace_name, date_amz_to_normal, process_currency
from .dynamodb import KPI

Python3 manage.py运行服务器

System check identified no issues (0 silenced).

You have 14 unapplied migration(s). Your project may not work properly 
until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.

October 03, 2019 - 12:23:46
Django version 2.0.7, using settings 'com.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

最后,当我在本地计算机上手动运行auto_scrapper时:

t$ python main/kpi_report.py auto_scrapper
Traceback (most recent call last):
  File "main/kpi_report.py", line 14, in <module>
    from .mws_settings import mws_settings
ModuleNotFoundError: No module named '__main__.mws_settings'; '__main__' is not a package
(zappa_env) t$ 

我不确定如何在Zappa中测试cron作业(事件)。将代码上传到云并等待事件运行并检查Lambda中的日志,效率非常低。请咨询,TYIA

1 个答案:

答案 0 :(得分:0)

您可以尝试在本地执行main.kpi_report.auto_scraper