Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.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 APScheduler进程无法与heroku/django设置一起工作_Python_Django_Heroku_Apscheduler - Fatal编程技术网

Python APScheduler进程无法与heroku/django设置一起工作

Python APScheduler进程无法与heroku/django设置一起工作,python,django,heroku,apscheduler,Python,Django,Heroku,Apscheduler,我在Heroku上使用Django环境获取APScheduler进程时遇到问题 我所做的是创建一个管理命令,以便我的apscheduler作业能够访问我的Django环境 appname/management/commands/scheduler.py 我为调度程序进程将Procfile设置为以下内容 scheduler: python manage.py scheduler 但是,当我使用调度程序进程部署应用程序时,会收到以下警告消息,并且我的作业不会运行: WARNING:apschedu

我在Heroku上使用Django环境获取APScheduler进程时遇到问题

我所做的是创建一个管理命令,以便我的apscheduler作业能够访问我的Django环境

appname/management/commands/scheduler.py

我为调度程序进程将Procfile设置为以下内容

scheduler: python manage.py scheduler
但是,当我使用调度程序进程部署应用程序时,会收到以下警告消息,并且我的作业不会运行:

WARNING:apscheduler.scheduler:Run time of job "a_weekly_job" (trigger: cron[day_of_week='mon-sun', hour='23', minute='25'], next run at: 2013-09-24 23:25:00)" was missed by 0:00:07.261174
如何运行作业?

添加clock.py文件:

sched = Scheduler()

@sched.cron_schedule(day_of_week='mon-sun', hour=0, minute=0)
def a_weekly_job():
  run_some_code()

sched.start()
print "Scheduler started"

while __name__ == '__main__':
  pass
程序文件:

web: ...
clock: python clock.py --loglevel=INFO
添加clock.py文件:

sched = Scheduler()

@sched.cron_schedule(day_of_week='mon-sun', hour=0, minute=0)
def a_weekly_job():
  run_some_code()

sched.start()
print "Scheduler started"

while __name__ == '__main__':
  pass
程序文件:

web: ...
clock: python clock.py --loglevel=INFO

使用子进程运行python manage.py调度程序:

import subprocess
from apscheduler.schedulers.blocking import BlockingScheduler

sched = BlockingScheduler()

@sched.scheduled_job('cron', day_of_week='mon-sun', hour=0, minute=0)
def scheduler_sample():
    subprocess.call('python manage.py scheduler'), shell=True, close_fds=True)

sched.start()

使用子进程运行python manage.py调度程序:

import subprocess
from apscheduler.schedulers.blocking import BlockingScheduler

sched = BlockingScheduler()

@sched.scheduled_job('cron', day_of_week='mon-sun', hour=0, minute=0)
def scheduler_sample():
    subprocess.call('python manage.py scheduler'), shell=True, close_fds=True)

sched.start()

我无法使用此方法访问django环境。奇怪的是,我可以在heroku和本地使用env包中的任何类。在运行脚本之前是否启动了环境?您还可以使用“foreman start”命令。我无法使用此方法访问django环境。奇怪的是,我可以在heroku和本地使用env包中的任何类。在运行脚本之前是否启动了环境?也可以使用“工头启动”命令。