小编Ole*_*sov的帖子

crontab没有正确运行php脚本

我正在尝试运行基于SendGrid和cron的自动邮件服务.我已经尝试了所有可能的组合来使PHP解释器运行我的脚本,虽然cron日志说每分钟执行一次作业,我定义的日志文件仍然是空的,没有收到任何电子邮件,但是当我通过浏览器访问页面时一切正常.

mydev.com是我在我的机器上使用的虚拟主机,我没有对php配置进行任何更改(最长执行时间等).

此外,我在网上做了我的研究,我安装了php5-cli,以及所有需要的依赖项.

下面是我在终端输入sudo crontab -e后添加到cron文件的行:

* * * * * php /var/www/mydev/dev/mailServiceTest.php >> /var/www/mydev/CRON_LOG.txt 2> /dev/null
* * * * * /usr/bin/php /var/www/mydev/dev/mailServiceTest.php >> /var/www/mydev/CRON_LOG.txt 2> /dev/null
* * * * * /usr/bin/php http://mydev.com/dev/mailServiceTest.php   >> /var/www/mydev/CRON_LOG.txt 2> /dev/null

* * * * * /usr/bin/lynx http://mydev.com/dev/mailServiceTest.php >> /var/www/mydev/CRON_LOG.txt 2> /dev/null
Run Code Online (Sandbox Code Playgroud)

这是cron日志的输出:

Apr 15 15:13:01 oleg-Lenovo-G580 CRON[8948]: (root) CMD (/usr/bin/php http://mydev.com/dev/mailServiceTest.php   >> /var/www/mydev/CRON_LOG.txt 2> /dev/null)
Apr 15 15:13:01 oleg-Lenovo-G580 CRON[8947]: (root) CMD (php /var/www/mydev/dev/mailServiceTest.php >> /var/www/mydev/CRON_LOG.txt 2> /dev/null)
Apr 15 15:13:01 …
Run Code Online (Sandbox Code Playgroud)

php ubuntu cron crontab

2
推荐指数
1
解决办法
2684
查看次数

如何使用SendGrid PHP库添加回复和发件人标题

这可能是一个愚蠢的问题,但是我一直在这里这里这里查看,并且没有提及这些简单功能。

我可以为此原因使用addHeader方法吗?

在此先感谢您的帮助!

php sendgrid

2
推荐指数
1
解决办法
5529
查看次数

可以将简单的MD5哈希转换为django密码吗?

我有一个遗留用户数据库,我想将其集成到一个新的Django项目中.

用户密码使用简单的MD5加密(PHP md5()函数)保存在旧数据库中,无需任何腌制.

覆盖django.contrib.auth的check_password和set_password不是一个选项,因为我已经有新的用户在新的Django项目上处于活动状态.

看着passlib,但不幸的是它不会做什么是需要要在这一具体项目来完成.

基本上,我唯一的选择是以某种方式将哈希转换为Django salted格式,或者实现自定义check_password方法,这将确定密码是普通MD5还是django密码(甚至可能是我的自定义用户模型中的参数,类似legacy=True布尔标志的东西.

任何帮助深表感谢.

python encryption django cryptography password-encryption

2
推荐指数
1
解决办法
1298
查看次数

使用带有散列值的 FIND_IN_SET 我的 sql 函数

我有以下查询:

SELECT url, url_hash from pages WHERE url_hash IN (SHA1('URL1'), SHA1('URL2'), SHA1('URL3'))
ORDER BY FIND_IN_SET(url_hash, "SHA1('URL1'), SHA1('URL2'), SHA1('URL3')")
Run Code Online (Sandbox Code Playgroud)

我会保持结果集的顺序与 IN 子句中参数的顺序相同。

我发现了这个问题

问题是 mysql 不知道如何解释一组 SHA1 函数,如果我将它们作为字符串传递,它们不会被正确计算,如果我传递给它们一个表达式(不带引号),我会收到以下错误:

OperationalError: (1582, "Incorrect parameter count in the call to native function 'FIND_IN_SET'")
Run Code Online (Sandbox Code Playgroud)

mysql sql find-in-set

1
推荐指数
1
解决办法
2709
查看次数

Angular $ cookieStore服务 - 与子域共享cookie

我想知道是否有办法使用角度$ cookieStore服务从几个不同的子域访问cookie集,让我们说:api.yoursite.com www.yoursite.com和jsutyoursite.com

文件完全不提这个问题.

有解决方案,还是我必须使用较低级别的JavaScript Cookie API?

javascript cookies angularjs

1
推荐指数
1
解决办法
4401
查看次数

如何将基于类的任务传递给CELERY_BEAT_SCHEDULE

正如在docs类中看到的那样,任务是表达复杂逻辑的公平方式.

但是,文档没有指定如何将基于闪亮的新创建的基于类的任务添加到您CELERY_BEAT_SCHEDULE(使用django)

我尝试过: celery.py

app.autodiscover_tasks(lambda: settings.INSTALLED_APPS, 'task_summary')
@app.on_after_configure.connect
def setup_periodic_tasks(sender, **kwargs):
    from payments.tasks.generic.payeer import PayeerPaymentChecker
    from payments.tasks.generic.ok_pay import OkPayPaymentChecker

    okpay_import = OkPayPaymentChecker()
    payeer_imprt = PayeerPaymentChecker()

    sender.add_periodic_task(60.0, okpay_import.s(),
                             name='OkPay import',
                             expires=30)

    sender.add_periodic_task(60.0, payeer_imprt.s(),
                             name='Payeer import',
                             expires=30)
Run Code Online (Sandbox Code Playgroud)

- 要么 -

payments/task_summary.py

from tasks.generic.import import OkPayPaymentChecker, PayeerPaymentChecker
 run_okpay = OkPayPaymentChecker()
 run_payeer = PayeerPaymentChecker()

CELERY_BEAT_SCHEDULE = {
# yes, i did try referring to the class here
'check_okpay_payments': {

    'task': 'payments.tasks.task_summary.run_okpay',
    'schedule': timedelta(seconds=60),
},
'check_payeer_payments': {
    'task': 'payments.task_summary.run_payeer',
    'schedule': timedelta(seconds=60), …
Run Code Online (Sandbox Code Playgroud)

python django celery celerybeat class-based-tasks

1
推荐指数
1
解决办法
2080
查看次数

适用于php的体面内存分析工具

我使用SendGrid官方PHP库和SMTP API(自动邮件程序在Ubuntu服务器上作为cron作业运行)构建了一个自动邮件程序.

生产服务器上的内存限制设置为32M,但在生产服务器上第一次运行应用程序之一时,我收到了消息

允许的内存大小为33554432字节耗尽,wast尝试分配256478字节

自256478 <33554432以来,这根本没有任何意义,但我怀疑我在某处有内存泄漏.

根据这篇文章,PHP有内存泄漏问题,在处理对象之间的相互关系时,我使用自己的Wrapper类来使代码更具可读性和结构,主要的mailService类,以及每个任务的类,实现一个接口,并返回每封电子邮件的所有特定数据(标题,子值,收件人列表).

我将首先在我的界面和每个类中添加一个析构函数,以确保没有内存泄漏,但我不确定这是否会解决问题,因为根据我执行的内存基准测试,大部分执行时间,内存由SwiftMailer的MailTransport.php类消耗.

所以我的问题基本上,我怎么能在每次迭代时重置这个类的内存使用情况?,是否有内置的东西,或者我应该自己实现这样的方法?

非常感谢任何帮助.

小可视化:在此输入图像描述

php memory-leaks memory-management

0
推荐指数
1
解决办法
347
查看次数