【发布时间】:2014-07-03 11:28:12
【问题描述】:
在 appengine 中,我创建了一个 cron 作业,该作业在 2 分钟间隔后执行,并将一些数据发布到我的 facebook 墙上。
但每两分钟后,当我在 appengine 中看到日志时,它会显示以下几行,
This request caused a new process to be started for your application, and thus caused your application code to be loaded for the first time. This request may thus take longer and use more CPU than a typical request for your application.
我的 Facebook 墙上没有任何内容。
但是当我手动执行 cron 作业 url(通过直接在浏览器中点击)时,应用程序会在我的墙上发布一些内容。
这是我的app.yaml,
application: thisisreallyappname
version: 1
runtime: python27
api_version: 1
threadsafe: yes
builtins:
- remote_api: on
inbound_services:
- warmup
libraries:
- name: django
version: latest
handlers:
- url: /_ah/queue/deferred
script: djangoappengine.deferred.handler.application
login: admin
- url: /_ah/stats/.*
script: djangoappengine.appstats.application
- url: /media/admin
static_dir: django/contrib/admin/media
expiration: '0'
- url: /static/admin
static_dir: django/contrib/admin/static/admin
expiration: '0'
- url: /static
static_dir: static
expiration: '0'
- url: /.*
script: djangoappengine.main.application
这是我的 urls.py
from django.conf.urls import patterns, include, url
from django.conf import settings
from django.conf.urls.static import static
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# Examples:
url(r'^crona/$', 'testapp.views.crona', name='crona'),
url(r'^admin/', include(admin.site.urls)),
)+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
这里是视图,
def crona(request):
logging.info("hello")
croned=CronEntries.objects.all().order_by('posted_datetime')[0]
if croned.email_id=='n*******@gmail.com':
try:
access_token="##############################################################"
graph = facebook.GraphAPI(access_token)
graph.put_object("me", "feed", message=croned.status_cron)
croned.delete()
except Exception as e:
logging.info(e)
else:
return HttpResponse("ok")
这里是 cron.yaml
cron:
- description: post on fb
url: /crona
schedule: every 2 minutes
【问题讨论】:
-
你的 cron.yaml 在哪里?
-
@DanielRoseman 我已经添加了。
标签: python facebook google-app-engine cron