Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用芹菜守护进程调用芹菜任务_Python_Django_Heroku_Django Models_Celery - Fatal编程技术网

Python 如何使用芹菜守护进程调用芹菜任务

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

我已在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.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集成提供了非常好的信息。阅读文章的“运行芹菜工人作为守护进程”部分