对于CakePHP 2.3.8如何在CronController.php中调用Another Controller函数
有任何想法吗?
我有一个我想要运行的定期工作,它是在Evernote的Android Job库的帮助下实现的.
我希望实现的是将myMyLocation更新为15分钟.
问题是,每隔15分钟,这项工作似乎要多次执行.
我使用OnePlus3设备进行了测试,并且通过调试,我观察到
LocationUpdateJob.schedule()只调用一次,这是正确的,但是LocationUpdateJob.onRunJob()多次调用,这是不正确的,但应该每15分钟调用一次.
此外,根据崩溃分析,一些设备会抛出illegalStateExceptions.此特殊例外仅在Android 7设备上发生.
以下是崩溃报告中的崩溃:
Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mydomain.myapp/MainActivity}: java.lang.IllegalStateException: Apps may not schedule more than 100 distinct jobs
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2947)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3008)
at android.app.ActivityThread.-wrap14(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6688)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)
Caused by java.lang.IllegalStateException: Apps may not schedule more than 100 distinct jobs
at android.os.Parcel.readException(Parcel.java:1701)
at android.os.Parcel.readException(Parcel.java:1646)
at android.app.job.IJobScheduler$Stub$Proxy.schedule(IJobScheduler.java:158)
at android.app.JobSchedulerImpl.schedule(JobSchedulerImpl.java:42)
at com.evernote.android.job.v21.JobProxy21.schedule(SourceFile:198)
at com.evernote.android.job.v21.JobProxy21.plantPeriodic(SourceFile:92)
at com.evernote.android.job.JobManager.scheduleWithApi(SourceFile:282)
at com.evernote.android.job.JobManager.schedule(SourceFile:240)
at com.evernote.android.job.JobRequest.schedule(SourceFile:366) …Run Code Online (Sandbox Code Playgroud) 我想创建一个每X次打开一个网页的cronjob.
此网页受密码保护.htaccess(user = admin,passwor = pass).我给出的指示如下:
wget --user=admin --password='pass' http://www.mywebsite.com/test.php
Run Code Online (Sandbox Code Playgroud)
但是cron给了我以下错误:
--2012-05-02 10:14:01-- http://www.mywebsite.com/test.php
Resolving www.mywebsite.com... IP
Connecting to www.mywebsite.com|IP|:80... connected.
HTTP request sent, awaiting response... 401 Authorization Required
Reusing existing connection to www.mywebsite.com:80.
HTTP request sent, awaiting response... 403 Forbidden
2012-05-02 10:14:01 ERROR 403: Forbidden.
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
wget admin:pass@http://www.mywebsite.com/test.php
Run Code Online (Sandbox Code Playgroud)
但有类似的错误.我怎么解决?预先感谢您的帮助.
我试图在Linux Ubuntu Server 12.04(CronJob)中设置一个计划任务,以便在午夜执行我所有MySQL数据库的每日备份.
我已经安装了已知的Webmin(一个用于管理Web服务器的漂亮的Web界面).
所以我的问题是:每当执行备份时,文件都会被覆盖!
这意味着:前天的备份是LOST,只保存了"Yesterday"备份!
我试过像设置动态文件路径之类的东西:
的/ var/WWW/mysqlbackups /%D-%间 - %Y
但我没有成功:(
有谁能够帮我.
非常感谢你们.
以下作品:
/usr/bin/mysqldump -u[username] -p[password] --all-databases --single-transaction > /home/[domain]/public_html/backups/full_backup_`date -I`.sql
Run Code Online (Sandbox Code Playgroud)
它导致"full_backup_2012-11-04.sql"
cron作业每分钟都在进行,但文件名只是每天一次...我想在文件名中包含小时和分钟....(最后cron作业可能每小时左右运行一次)
所以日期 - 我的工作......日期的其他典型选项似乎不起作用...是否有任何文档说 - 我是有效的?如果是这样,文档也可能有其他选项可行.
我是使用 crontab 的新手,我一直在努力让一个简单的 cron 工作正常工作。cron作业的代码如下:
*/1 * * * * echo "job every minute"
Run Code Online (Sandbox Code Playgroud)
所以只是为了概念验证,我希望每分钟都能看到这个打印出来。我曾尝试使用两者保存此 cron 作业
sudo crontab -e
Run Code Online (Sandbox Code Playgroud)
并通过在目录中保存 crontab 文件 (cronscript) 并按如下方式启用脚本:
crontab ~/Documents/MyProjects/cronscript
Run Code Online (Sandbox Code Playgroud)
这是 cron 作业所在的路径。两个相同的作业都被正确保存,因为我已经通过输入验证
sudo crontab -e
Run Code Online (Sandbox Code Playgroud)
和 crontab -e
进入终端,他们都出现了。我确保在每个命令之后都保存了一个新行字符,并且我检查以确保使用 cron 正在运行
pgrep cron
Run Code Online (Sandbox Code Playgroud)
但是,我仍然没有将“每分钟工作”打印到终端(每分钟),这是我认为这些命令应该做的。
我究竟做错了什么?谢谢您的帮助!
我想设计一个作业调度程序集群,它包含几个要执行cron作业调度的主机.例如,需要的作业run every 5 minutes被提交到集群,集群应该指出下次运行要触发的主机,确保:
- 容灾:如果不是所有主机都关闭,则应该成功触发作业.
- 有效性:只有一个主机可以解雇下一个工作.
由于容灾,作业无法绑定到特定主机.一种方法是所有主机轮询数据库表(当然有锁),这保证只有一个主机获得下一个作业运行.由于它经常锁表,有没有更好的设计?
我每分钟都在使用node-cron做一些繁重的任务(更新数据库)。这个任务是使用主进程来工作还是 nodejs 会创建一些工人来完成这些任务?
var CronJob = require('cron').CronJob;
new CronJob('0 * * * * *', function() {
//Update database every minute here
console.log('Update database every minute');
}, null, true, 'America/Los_Angeles');
Run Code Online (Sandbox Code Playgroud) 我有一个用asp编写的Web应用程序。净 mvc 核心 2.2。O 需要在每天凌晨 3:00 运行计划作业。最好的方法是什么?
我试过hangfire它在一段时间后停止。我们需要设置 IIS 服务器始终运行。我在 .Net 核心中搜索并找到了托管服务。谁能告诉我在 dot net core 的 web 应用程序中每天运行工作的最佳方法是什么?
我必须运行 laravel 命令php artisan queue:work --daemon来运行存储在 Beanstalkd 队列上的作业。
我遇到了两种可能的解决方案:
Register a command in the config files of Supervisord and start it.*/1 * * * * /usr/bin/php /var/www/laravelProj/artisan queue:work --daemon --tries=3有人可以解释一下我应该走什么路以及最能提高性能的方法吗?