1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- <?php
- namespace backend\models;
- use Yii;
- /**
- * 配置队列管理
- * Class Jobs
- * @package app\models
- * @author libingke
- */
- class Jobs extends \yii\db\ActiveRecord
- {
- const STATUS_RUN = 1;
- const STATUS_STOP = 0;
- /**
- * @inheritdoc
- */
- public static function tableName()
- {
- return 'amqp_jobs';
- }
- /**
- * [获取场景]
- * @author: libingke
- * @param $sign
- * @return false|string
- */
- public static function fetchDataBySign($sign, $useCache = true)
- {
- if (!is_string($sign) || $sign === '')
- return false;
- $cache = Yii::$app->redis;
- $key = 'table:amqp_jobs:sign:' . $sign;
- $data = $cache->get($key);
- if ($data === false || $useCache == false) {
- $info = self::find()
- ->where(['sign' => $sign, 'status' => static::STATUS_RUN])
- ->asArray()->one();
- $data = serialize($info);
- $cache->set($key, $data, 60);
- }
- return unserialize($data);
- }
- }
|