Python 如何使用芹菜守护进程调用芹菜任务
我已在tasks.py文件中编写了此任务,该文件位于django应用程序目录myapp下Python 如何使用芹菜守护进程调用芹菜任务,python,django,heroku,django-models,celery,Python,Django,Heroku,Django Models,Celery,我已在tasks.py文件中编写了此任务,该文件位于django应用程序目录myapp下 #periodic task that run every minute @periodic_task(run_every=(crontab(hour="*", minute="*", day_of_week="*"))) def news(): ''' Grab url ''' logger.info("Start task") now = datetime.no
#periodic task that run every minute
@periodic_task(run_every=(crontab(hour="*", minute="*", day_of_week="*")))
def news():
'''
Grab url
'''
logger.info("Start task")
now = datetime.now()
urls = []
urls.append(crawler()) #crawler return dic obj
for url_dic in list(reversed(urls)):
for title, url in url_dict.items():
#Save all the scrape url in database
Url.objects.create(title=headline, url=url)
logger.info("Task finished: result = %s" %url)
此任务的主要目标是每分钟将url和标题推送到django数据库
要运行这个芹菜任务,我们需要使用django/manage
实用程序调用这些命令。如何将这些命令作为守护程序运行,我计划在heroku中托管这个应用程序
python manage.py celeryd --verbosity=2 --loglevel=DEBUG
python manage.py celerybeat --verbosity=2 --loglevel=DEBUG
但是我需要在后台以守护程序的形式运行这两个命令,我们如何才能以守护程序的形式运行这两个命令,以便我的芹菜任务可以运行。一个快速修复方法是在命令后面加上“&”,即
python manage.py celeryd --verbosity=2 --loglevel=DEBUG &
python manage.py celerybeat --verbosity=2 --loglevel=DEBUG &
点击回车键后,此任务将充当守护进程,并仍然打印出有用的调试信息。因此,这对于初期和有时不严重依赖芹菜的小型应用来说是非常好的
出于开发目的,我建议使用.See,它为芹菜、django和supervisor集成提供了非常好的信息。阅读文章的“将芹菜工人作为守护进程运行”部分。一个快速修复方法是在您的命令(即
python manage.py celeryd --verbosity=2 --loglevel=DEBUG &
python manage.py celerybeat --verbosity=2 --loglevel=DEBUG &
点击回车键后,此任务将充当守护进程,并仍然打印出有用的调试信息。因此,这对于初期和有时不严重依赖芹菜的小型应用来说是非常好的
出于开发目的,我建议使用.See,它为芹菜、django和supervisor集成提供了非常好的信息。阅读文章的“运行芹菜工人作为守护进程”部分