Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.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
当使用django crontab将python函数添加到cron时,会出现“无法解码任何JSON对象”错误_Python_Json_Django_Crontab_Django Cron - Fatal编程技术网

当使用django crontab将python函数添加到cron时,会出现“无法解码任何JSON对象”错误

当使用django crontab将python函数添加到cron时,会出现“无法解码任何JSON对象”错误,python,json,django,crontab,django-cron,Python,Json,Django,Crontab,Django Cron,当我在django shell上执行python函数时,它执行得很好。 但是当函数通过crontab执行时,它不会给出任何JSON对象可能被解码的错误 successfully made the api call. response status is 200 Exception occured : No JSON object could be decoded Failed to complete cronjob at ('0,30 * * * *', 'myapp.cron.pulldat

当我在django shell上执行python函数时,它执行得很好。 但是当函数通过crontab执行时,它不会给出任何JSON对象可能被解码的错误

successfully made the api call. response status is  200
Exception occured : No JSON object could be decoded
Failed to complete cronjob at ('0,30 * * * *', 'myapp.cron.pulldata', ' >> /usr/local/devops/myapp/crontab.log')
Traceback (most recent call last):
 File "/usr/local/devops/provider_monitoring/env/lib/python2.7/site-packages/django_crontab/crontab.py", line 145, in run_job
   func(*job_args, **job_kwargs)
 File "/usr/local/devops/provider_monitoring/provider_monitoring/provider_automation/cron.py", line 49, in pulldata_and_createjira
   response = response.json()
 File "/usr/local/devops/provider_monitoring/env/lib/python2.7/site-packages/requests/models.py", line 866, in json
   return complexjson.loads(self.text, **kwargs)
 File "/opt/python-2.7.10/lib/python2.7/json/__init__.py", line 338, in loads
   return _default_decoder.decode(s)
 File "/opt/python-2.7.10/lib/python2.7/json/decoder.py", line 366, in decode
   obj, end = self.raw_decode(s, idx=_w(s, 0).end())
 File "/opt/python-2.7.10/lib/python2.7/json/decoder.py", line 384, in raw_decode
   raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
我正在我的代码中做一个POST调用来splunk rest api

payload = {'search' : 'search index="xyz" | table a , b , c' , 'earliest_time' : '-60m' , 'output_mode' : 'json_rows' }
url = "https://localhost:8089/services/search/jobs/export"
headers = {'content-type': "application/x-www-form-urlencoded",'authorization': "xyz",'cache-control': "no-cache"}
response = requests.adapters.HTTPAdapter(pool_connections=10, pool_maxsize=10, max_retries=5, pool_block=False)
response = requests.request("POST", url, data=payload, headers=headers, verify=False)            
response = response.json()
只有在cron中运行python函数时,才会出现错误

我使用的是python版本:2.7.10
django:1.8

当您没有来自api的响应时,您没有得到任何JSON对象可能被解码的错误

就连我也有同样的问题。我正在对splunk进行REST api调用,我想收集每30分钟生成的摘要索引数据。所以我的cron每30分钟运行一次。但每30分钟api仍在聚合数据,因此每30分钟失败一次。 当我以一个时间延迟点击api时,也就是数据正确聚合的时间,我得到了响应

现在我的cron是这样的:

 5-59/30 * * * *

此cron将在5分钟后运行,35分钟后运行

检查print response.text before response.json response.text在django shell上运行时打印。但是response.text作为cron运行时不会打印任何内容。发布您的response.text谢谢。它在为我的cron设置提供了时间延迟后工作。